谷歌地图从latLng获取邮政编码

时间:2015-10-08 11:04:27

标签: javascript google-maps reverse-geocoding

一直试图找到一种方法从latlng位置提取邮政编码,但我不完全确定如何做到这一点。有人可以直接指向我,我使用谷歌api自动完成。

我尝试使用address_components,但它只给我短/长的名字和类型。

2 个答案:

答案 0 :(得分:1)

您需要使用其他服务。 postcodes.io是免费的,开源的并使用开放数据。您正在寻找的请求是:

GET api.postcodes.io/postcodes?lon=:longitude&lat=:latitudË

从谷歌地图获取长拉特,然后单独请求邮政编码服务以获取您正在寻找的邮政编码。

上述服务仅涵盖英国邮政编码。您可能需要为不同的国家/地区使用多种服务。

请参阅此related question on GIS Stack Exchange

答案 1 :(得分:0)

如果返回的数据被称为“地址”......

var arr = addresses.results[0].address_components,
    i = 0,
    len = arr.length;
for (i; i < len; i++) {
    if (arr[i].types[0] === "postal_code") {
        alert(arr[i].long_name)
    }
}