我有一个包含确切地址的数据库(街道、号码、城市、地区/地区、国家)。但是,我想知道如果我们在纽约,是否有办法使用 Google API 来获取城市的区(例如“曼哈顿”)?
所有其他信息我都已经在数据库中了,所以我只需要该地区(如果有的话)(当然这只会在大城市)......
UPDATE:
我发现这个功能http://www.techques.com/question/1-3151450/Google-geolocation-API---使用经度和纬度来获取地址 http://www.techques.com/question/1-3151450/Google-geolocation-API---Use-longitude-and-latitude-to-get-address并试图改变formatted_address
到次地方(甚至其他人,例如short_name等),但它不会返回任何内容...任何帮助将不胜感激!谢谢你!!
function reverse_geocode($lat, $lon) {
$url = "http://maps.google.com/maps/api/geocode/json?latlng=$lat,$lon&sensor=false";
$data = json_decode(file_get_contents($url));
if (!isset($data->results[0]->formatted_address)){
return "unknown Place";
}
return $data->results[0]->formatted_address;
}
您可以像这样访问子区域:
function reverse_geocode($lat, $lon) {
$url = "http://maps.google.com/maps/api/geocode/json?latlng=$lat,$lon&sensor=false";
$data = json_decode(file_get_contents($url));
if (!isset($data->results[0]->address_components)){
return "unknown Place";
}
if ($data->results[0]->address_components[2]->types[0]=="sublocality") {
$return_array['type']="sublocality";
$return_array['sublocality_long_name']=$data->results[0]->address_components[2]->long_name;
$return_array['sublocality_short_name']=$data->results[0]->address_components[2]->short_name;
return $return_array;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)