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
パラメータ内のコードは解析結果を取得し、最終アドレスの注釈情報。
以上がThinkPHP で発行者アドレスの注釈を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。