使用 Google Map API 和 PHP 进行反向地理编码以使用经纬度坐标获取最近位置 [英] Reverse Geocoding With Google Map API And PHP To Get Nearest Location Using Lat,Long coordinates

查看:30
本文介绍了使用 Google Map API 和 PHP 进行反向地理编码以使用经纬度坐标获取最近位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一个函数来使用谷歌地图api反向地理编码和php从坐标(纬度,经度)获取最近的地址或城市...请提供一些示例代码

I need a function to get an nearest address or city from coordinates(lat,long) using google map api reverse geocoding and php... Please give some sample code

推荐答案

您需要使用 getLocations 方法在 Google Maps API

对象>

You need to use the getLocations method on the GClientGeocoder object in the Google Maps API

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);
    });

编辑:好的.你在服务器端做这个东西.这意味着您需要使用 HTTP 地理编码服务.为此,您需要使用链接文章中描述的 URL 格式发出 HTTP 请求.可以解析HTTP响应并拉出地址:

EDIT: Ok. You are doing this stuff server side. This means you need to use the HTTP Geocoding service. To do this you will need to make an HTTP request using the URL format described in the linked article. You can parse the HTTP response and pull out the address:

// 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'];
}

注意 Google 地图服务条款明确规定,禁止在未将结果放在 Google 地图上的情况下对数据进行地理编码.

N.B. The Google Maps terms of service explicitly states that geocoding data without putting the results on a Google Map is prohibited.

这篇关于使用 Google Map API 和 PHP 进行反向地理编码以使用经纬度坐标获取最近位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆