我使用google的反向地理编码来获取administrative_area_level_1,国家/地区和邮政编码。问题是在某些情况下我没有获得国家/地区(正如您在加利福尼亚州的情况下在屏幕截图中看到的那样)。 这是我的算法 -
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
var components=results[1].address_components;
console.log(components);
for (var component=0;component<(components.length-1);component++){
if(components[component].types[0]=="administrative_area_level_1"){
var admin_area=components[component].long_name;
}
if(components[component].types[0]=="country"){
var country=components[component].long_name;
}
if(components[component].types[0]=="postal_code"){
var postal_code=components[component].long_name;
}
}
}
}
}
假设反向地理编码总是返回国家,那么错误在哪里?