使用Google Map API和PHP进行反向地理编码以使用经纬度坐标获取最近位置

n3h0vuf2  于 2023-01-01  发布在  PHP
关注(0)|答案(1)|浏览(136)

我需要一个函数,以获得一个最近的地址或城市坐标(纬度,长)使用谷歌MapAPI反向地理编码和PHP...请给予一些样本代码

ct2axkht

ct2axkht1#

您需要对Google Maps API中的GClientGeocoder对象使用getLocations方法

var point = new GLatLng (43,-75);
var geocoder = new GClientGeocoder();
geocoder.getLocations (point, function(result) {
    // access the address from the placemarks object
    alert (result.address);
    });

EDIT:好的。您正在服务器端执行此操作。这意味着您需要使用HTTP Geocoding服务。为此,您需要使用链接文章中描述的URL格式发出HTTP请求。您可以解析HTTP响应并提取地址:

// set your API key here
$api_key = "";
// format this string with the appropriate latitude longitude
$url = 'http://maps.google.com/maps/geo?q=40.714224,-73.961452&output=json&sensor=true_or_false&key=' . $api_key;
// make the HTTP request
$data = @file_get_contents($url);
// parse the json response
$jsondata = json_decode($data,true);
// if we get a placemark array and the status was good, get the addres
if(is_array($jsondata )&& $jsondata ['Status']['code']==200)
{
      $addr = $jsondata ['Placemark'][0]['address'];
}

**N.B.**GoogleMap服务条款明确规定,禁止对数据进行地理编码而不将结果显示在GoogleMap上。

可以在GoogleMap上显示地理编码API结果,也可以不显示Map。如果要在Map上显示地理编码API结果,则必须在GoogleMap上显示这些结果。禁止在非GoogleMap上使用地理编码API数据。

相关问题