【问题标题】:Geocoding services : which can be used with JAVA web applications as reliable地理编码服务:可以与 JAVA Web 应用程序一起使用,因为它是可靠的
【发布时间】:2012-11-28 17:57:08
【问题描述】:

因为这是一个非常古老的问题。但是因为我对最能证明什么地理编码服务有同样的困惑。

我正在开发基于 Java 的 Web 应用程序,我需要在其中实现以下功能

  • 对地址进行地理编码
  • 执行反向地理编码
  • 在地图上显示路线
  • 计算两个纬度/经度之间的距离和时间
  • 如果可能,还提供建议路线选项,以便用户决定最快或最短路线

最初我从 cloudemade API 开始,它适用于上述所有功能,但在少数情况下,在反向地理编码和地理编码地址中,它不会给出任何纬度/经度结果

接下来我也尝试使用 MapQuest,但在少数情况下它无法对特定地址进行地理编码

现在我正在使用 Yahoo 搜索,但根据我的搜索,yahoo 没有自己的地图可以显示,也没有路由功能,我需要在这里手动计算距离

谁能建议我哪些服务可以更可靠、更准确地包含上述功能

【问题讨论】:

  • 您了解过 Google API 吗?我不知道它是否确实计算距离,但对于其他事情是的,API 也是快速可靠的:developers.google.com/maps/documentation/geocoding
  • 是的,我查看了 google API,但由于它收费很高,所以我们不推荐它。您对 Bing Map API 有任何想法,Java 是否更可取?
  • 抱歉,我对 Bing API 不太了解,您对收费很有意见,因为我的应用程序开发不需要大量请求,我从未为此类服务付费。

标签: java geocoding yahoo-api cloudmade mapquest


【解决方案1】:

免责声明:我为 MapQuest 工作。

我不能说哪种地理编码服务更可靠、更准确,仅仅是因为地理编码的性质;有很多变量会影响结果——街道名称是否拼写错误,是否有额外的“第 2 行”地址信息(即“Apartment #5, 2nd Floor”),地址是否正确和官方地址(即,美国邮政局、加拿大邮政等官方认可的地址)?反向地理编码也是如此——您传递的坐标是否足够靠近街道以进行反向地理编码,或者坐标是在森林中间​​还是在水体中?我认为很难找到绝对完美的服务,但这些是可能影响结果的一些问题。当然,有时也可能存在数据问题,即基础数据中缺少街道或地址。

不管怎样——如果你想再看一遍,MapQuest 提供Geocoding API(许可/商业数据——每日交易限制)和Open Geocoding API(基于 OpenStreetMap 数据——完全免费使用,没有限制),而 MapQuest 提供的其他 API 也可以满足您列出的其他要求。

【讨论】:

  • 感谢 jharahush 的详细回答,我很感激。最后,我们决定使用 MapQuest API 在我们的应用程序中显示地图、路由和方向功能。一切正常,我们面临的唯一问题是我需要一个可以根据要求动态调整大小的地图。目前我们正在使用
    标签,似乎它只允许以像素而不是百分比为单位的宽度和高度。那么你能用示例代码建议我应该怎么做来解决这个问题吗?如果您能在这方面提供帮助,将非常感激
【解决方案2】:

如果您想比较 Google API、MapQuest 和 Cloud Made,您可以查看这个小实用程序,它会显示准确位置并显示有助于调试应用程序的 json。该实用程序可在以下网址访问:

http://ankit-zalani.appspot.com/GeoCode/index.jsp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    相关资源
    最近更新 更多