【问题标题】:Google geocoding inaccuracy (in Israel)Google 地理编码不准确(在以色列)
【发布时间】:2011-05-30 02:02:57
【问题描述】:

我正在尝试使用 Google Geocoding API,但我不断得到一个非常不准确的答案(偏离 3.2 公里)。

这是一个例子: http://maps.google.com/maps/api/geocode/json?sensor=true&address=Hava%27ad+Haleumi+21+Jerusalem

我得到坐标 31.7857,35.2007。

如果您在 maps.google.com 中查找“Hava'ad Haleumi 21 Jerusalem”,您会发现该位置与 Google Geocoding API 提供的位置相距 3.2 公里。

有人知道为什么会这样吗?

谢谢。

【问题讨论】:

  • @SRM 看起来像一个答案。
  • @yc 好点。我将其移至答案。

标签: google-maps geocoding


【解决方案1】:

查看响应。您得到的是部分匹配,并且位置类型是近似的。如果您查看视口,您可能会发现您要查找的位置位于该视口内。 *编辑 - 实际上它看起来只是与城市相匹配 - 在这种情况下是 Jersulem - 这就是为什么你到目前为止可能已经离开了

【讨论】:

  • 但它为什么要这样做呢?如果我在谷歌地图上查找完全相同的查询,我会得到正确的位置。我在耶路撒冷内搜索的任何位置,我都会得到一个很远的位置。
  • 这里肯定发生了一些奇怪的事情。当我输入您在谷歌地图中指定的地址时,它确实将标记定位在正确的位置。当我使用地址作为 api 的参数时,它会返回您看到的匹配项。需要注意的一件事是,在使用拉丁字符输入地址后,Google 会使用希伯来语重新显示该地址。我不确定这是否会有所不同,或者您是否甚至可以使用希伯来语提交请求,但谷歌肯定很困惑。
【解决方案2】:

实际上,Google Maps API 不支持以色列城市级别以外的地理编码,因此您的解决方案是按照您的做法寻找替代的地理编码服务。

您在 maps.google.com 上搜索时获得正确位置的原因是,由于许可问题,API 使用了与 maps.google.com 不同的提供商。

这是spreadsheet detailing the coverage area for Google Maps

【讨论】:

    【解决方案3】:

    可以使用 waze.co.il 代替 google:

    他们的 JSON API 是

    http://www.waze.co.il/WAS/mozi?q=yourAddress&token=yourToken

    (另外,如该线程中所述http://www.waze.co.il/forum/viewtopic.php?f=21&t=6113 反向地理编码是一项付费服务​​。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 2016-12-17
      相关资源
      最近更新 更多