【问题标题】:Getting the suburb for a UK address or geocode获取英国地址或地理编码的郊区
【发布时间】:2016-03-04 06:45:45
【问题描述】:

我希望通过输入地址或地理编码(lat、lng 或 IP)来获取郊区

郊区我的意思类似于以下内容。

英国邮政编码:EH11 1AF 位于“Fountainbridge”郊区。爱丁堡市有许多郊区,例如“Haymarket、Barnton、Corstorphine、Comely Bank”。

当我使用谷歌反向地理编码 API 时,例如:

/maps/api/geocode/json passing a lat,lng parameter

响应不包含郊区 - 请参阅: http://maps.googleapis.com/maps/api/geocode/json?latlng=55.958712899999995,-3.216021&sensor=true

是否有 API 可以帮助我根据地理编码或地址或邮政编码的任何部分得出郊区名称!?我正在努力寻找这样的服务

【问题讨论】:

  • 你看过geonames.org吗?
  • 不确定 geonames.org 究竟如何为我提供我需要的 geocodezip。例如:geonames.org/postalcode-search.html?q=eh41ed&country=GB 应该产生“Stockbridge”的郊区名称,但没有。
  • 您如何定义 Stockbridge 的边界?莉丝?考斯托芬?等等......它不像邮政编码或选举边界。当您从 Haymarket 站开往动物园时,Haymarket 的终点和 Corstorphine 的起点是什么?
  • 是的 - 邓肯很难,我不知道是谁定义了这些界限,

标签: google-maps google-maps-api-3 geolocation google-geocoding-api postal-code


【解决方案1】:

原来geonames.org 确实提供了我需要的东西,看看这个:

Stockbridge的一个经纬度,有一个stockbridge的名字:http://api.geonames.org/findNearbyPlaceNameJSON?formatted=true&lat=55.958712899999995&lng=-3.216021&username=demo&style=full测试了一下,好像效果很好!

【讨论】:

  • 这不是一个答案,可能应该重写为答案或作为对该问题的评论发布。
  • 很抱歉,但这正是正确的答案。我想从纬度和经度中获得“StockBridge”结果。我在答案中的这个服务调用实现了这一点。它适用于所有英国城市,也适用于美国。其中哪一部分没有回答我自己的问题!?
  • 对不起,它读作评论。如果它是 the 答案,也许您可​​以重写它以清楚地解决问题。我不知道“地理编码”与它有什么关系,也许如果说“原来 geonames.org 确实提供了我需要的东西......”
  • 这正是它所说的。
  • 好的,我已经解决了。
【解决方案2】:

我感觉到你的痛苦。

您可以从 Google API 获得大量信息,而您想要的只是郊区。不要使用其他 API。

如果我错了,请更正,但你有两个选择:

选择 1:遍历 address_components 直到找到“locality”类型的组件。

选择 2:尝试 JSON 位置:

    var guess = 5;
    var level = responseJSON.results[0].address_components.length-guess; 
    var suburb = responseJSON.results[0].address_components[level].short_name;

我知道选择 2 不是一个优雅的解决方案,我不会将它用于关键应用程序,但到目前为止它一直对我有用。

当我将我的原型传递给我现在正在编码的项目时,我将对选择 1 进行编码。即查找标记为 type="locality" 的 address_component。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2011-07-12
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    相关资源
    最近更新 更多