获取基于lat&long的邮政编码?

Con*_*nor 8 javascript maps geolocation

有没有我可以ping的服务或API,并传入lat/long作为参数,它返回lat/long对所在的邮政编码?这只是美国的,所以我不必担心国际代码等.

我觉得谷歌地图的反向地理编码对我来说太沉重了.如果可能的话,我更喜欢更轻的东西.这将在javascript中完成.

Mic*_*aga 18

它被称为反向地理编码(Address Lookup).要获取lat的地址:40.714224,lng:-73.961452查询http://maps.googleapis.com/maps/api/geocode/json带参数latlng=40.714224,-73.961452&sensor=true(示例),它返回JSON对象或用于http://maps.googleapis.com/maps/api/geocode/xml返回XML响应(示例).这是来自谷歌,它是免费的.

  • 应该注意的是,谷歌明确禁止使用地理编码,而不是根据他们的[TOS](https://developers.google.com/maps/terms#section_10_12)将其放在地图上 (5认同)

小智 7

对于Google API,您需要在Google地图中根据其网站使用它:

注意:地理编码API只能与Google地图结合使用; 禁止在地图上显示地理编码结果.

  • 这不是真的。“你可以在谷歌地图上显示地理编码 API 结果,也可以不显示地理编码 API 结果。如果你想在地图上显示地理编码 API 结果,那么这些结果必须显示在谷歌地图上。禁止在地图上使用地理编码 API 数据。不是谷歌地图的地图。” https://developers.google.com/maps/documentation/geocoding/policies (3认同)

kub*_*etz 6

请查看http://geonames.org.有一个web服务findNearbyPostalCodes(国际).

示例:findNearbyPostalCodesJSON?lat = 47&lng = 9&username = demo

缩短产量:

{
  "postalCodes": [{
    "adminCode3": "1631",
    "distance": "2.2072",
    "postalCode": "8775",
    "countryCode": "CH",
    "lng": 8.998679778165283,
    "placeName": "Luchsingen",
    "lat": 46.980169648620375
  }]
}
Run Code Online (Sandbox Code Playgroud)

模拟账户的限制是每小时2000次查询.