ホームページ > PHPフレームワーク > ThinkPHP > ThinkPHP は発行者アドレスの注釈をどのように取得するか (2 つの方法)

ThinkPHP は発行者アドレスの注釈をどのように取得するか (2 つの方法)

PHPz
リリース: 2023-04-07 10:38:11
オリジナル
1064 人が閲覧しました

ソーシャル ネットワークや電子商取引プラットフォームなどの Web サイトを開発する場合、ユーザーが発行者の地理的位置を理解できるように、発行者のアドレスの注釈を取得することが必要になることがよくあります。 ThinkPHP では発行者アドレスのアノテーションを取得する方法が多数ありますが、この記事では最も一般的に使用される方法を紹介します。

1. IP アドレスを使用してパブリッシャー アドレス アノテーションを取得する

パブリッシャー アドレス アノテーションを取得する場合、その IP アドレスを位置特定に使用できます。 ThinkPHP では、getRequest() メソッドを通じて現在のリクエストの IP アドレスを取得し、サードパーティの地理位置情報サービス (Baidu Map API など) を使用して、対応する地理位置情報を解析して取得できます。

コード例:

// 获取当前请求的 IP 地址
$client_ip = request()->ip();
// 利用百度地图 API 获取地理位置信息
$url = "http://api.map.baidu.com/location/ip?ak=您的密钥&ip=$client_ip&coor=bd09ll";
$result = file_get_contents($url);
$location = json_decode($result, true);
$address = $location['content']['address'];
ログイン後にコピー

このうち、$client_ip 変数には現在のリクエストの IP アドレスが格納され、$url 変数にはBaidu Map API を呼び出すための URL アドレス、$result 変数は解析結果を格納します、$location 変数は解析結果の配列形式です、$address変数には最終的に取得したアドレスアノテーション情報が格納されます。

2. ブラウザー位置を使用して発行者のアドレス注釈を取得する

IP アドレスを使用してアドレス注釈を取得するだけでなく、ブラウザー位置を使用してアドレス注釈を取得することもできます。 ThinkPHP では、JavaScript を使用してブラウザーの位置を取得し、サードパーティの地理位置情報サービス (Tencent Map API など) を使用して、対応する住所注釈情報を分析して取得できます。

コード例:

// 页面中引入 JavaScript 定位代码
navigator.geolocation.getCurrentPosition(function(position) {
    // 获取浏览器定位的经纬度
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
    // 利用腾讯地图 API 获取地理位置信息
    var url = "https://apis.map.qq.com/ws/geocoder/v1/?location=" + lat + "," + lng + "&key=您的密钥&get_poi=0";
    $.ajax({
        url: url,
        dataType: "jsonp",
        success: function(result) {
            // 解析结果,获取地址标注信息
            var address = result.result.formatted_addresses.recommend;
        }
    })
});
ログイン後にコピー

このうち、navigator.geolocation.getCurrentPosition() メソッドはブラウザの位置、lat および を取得します。 lng 変数には取得した経度・緯度情報が格納されます url 変数には Tencent Map API を呼び出すための URL アドレスが格納されます success パラメータ内のコードは解析結果を取得し、最終アドレスの注釈情報。

3. 概要

上記は、ThinkPHP で発行者アドレスの注釈を取得するための 2 つの一般的な方法です。異なる方法は異なるシナリオに適しており、特定のニーズに応じて選択する必要があります。サードパーティの地理位置情報サービスを使用する場合は、最初に開発者アカウントを登録し、通常の API 呼び出しを確保するために対応するキーを取得する必要があります。

以上がThinkPHP は発行者アドレスの注釈をどのように取得するか (2 つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート