如何在邻居类型的Google Maps API中获取formatted_address?我使用Google地图进行反向地理编码,但不幸的是,我所在位置的最近地址是带有neighborhood
类型的formatted_address。我很难解析JSON数组,因为它有很多内容。
以下是我从Google地图获取的示例JSON。 https://gist.github.com/anonymous/8d5250cfc37a8cef9ab2
当我尝试使用它时:
var geocoder = new google.maps.Geocoder();
var point = new google.maps.LatLng(localStorage.latitude, localStorage.longitude);
geocoder.geocode({ 'latLng': point }, function (results, status) {
if (status !== google.maps.GeocoderStatus.OK) {
alert(JSON.stringify(status));
}
// This is checking to see if the Geoeode Status is OK before proceeding
if (status == google.maps.GeocoderStatus.OK) {
console.log(results);
var address = (results[0].formatted_address);
alert(JSON.stringify(address));
}
});
它没有给我最近的地址。注意:该要点上的数据因纬度/经度而异,但当我检查其他地址时,只有类型为formatted_address
的{{1}}才能获得距离Lat和Lang最近的地址。
答案 0 :(得分:3)
我的Javascript很啰嗦,但我想我会这样做:
function getAddress(results) {
if(results && results.length) {
for (var i=0; i<results.length; i++) {
if (results[i].types.indexOf('neighborhood') != -1) {
return results[i].formatted_address;
}
}
return results[0].formatted_address;
}
return '';
}