在谷歌地图api中,我想提取地图中心的纬度和经度,并获得像邮政编码一样的地址。 这有可能获得邮政编码吗? 我为此目的使用它
var lat = -24.448674;
var lng = 135.684569;
var geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({'latLng': latlng}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
if (results[1]) {
alert(results[1].formatted_address);
} else {
alert("No results found");
}
}
else
{
alert("Geocoder failed due to: " + status);
}
});
但在上面的代码中,我无法获得邮政编码并获得邮政编码! https://developers.google.com/maps/documentation/geocoding/
答案 0 :(得分:1)
您可以获取postal_code
类型的邮政编码:
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
for (var i = 0; i < results[0].address_components.length; i++) {
var types = results[0].address_components[i].types;
for (var typeIdx = 0; typeIdx < types.length; typeIdx++) {
if (types[typeIdx] == 'postal_code') {
//console.log(results[0].address_components[i].long_name);
console.log(results[0].address_components[i].short_name);
}
}
}
} else {
console.log("No results found");
}
}
答案 1 :(得分:0)
据我所知,你在这里已回答了自己的问题。 “邮政编码”是给予每个国家/地区使用的邮寄地址标识符的通用名称。就美国而言,这将是“邮政编码”,在英国是“邮政编码”等。
来自您关联的文档:
postal_code表示用于处理国内邮件的邮政编码。
“邮政编码”下的字段很可能是您要找的,不要让命名惯例欺骗您。 Google会为每个国家/地区的可能变体重命名字段,这是不必要的工作。