如何在不使用Google地理编码服务的情况下获取地址的纬度和经度

5
我想获取一个地址的纬度和经度。是否有方法可以在不使用Google地理编码API的情况下实现?
我想使用tilemill在我的地图上显示我的地址。据我所知,使用从Google获得的纬度和经度会阻止我在tile mill上使用它们。
那么我该怎么做才能得到这些信息呢?
谢谢
3个回答

9

正确。感谢您遵守服务条款。

还有其他提供地理编码服务的机构,例如: 微软必应雅虎MapQuestNominatim等。然而,这些服务也有类似于谷歌的各种服务条款限制或查询限制。此外,USC WebGIS 也是一种选择,但其 演示网站 经常无法访问且服务会出现间歇性问题。

摆脱这些免费服务的限制的方法可能就是使用商业服务。市场上有几家提供此类服务的机构,每个机构的服务方式都略有不同。有些服务将搜索地址并猜测最佳结果(或近似结果),这也是 Google 和其他搜索服务所做的。

其他服务将获取一个疑似真实的地址,并验证其有效性,然后进行地理编码。这将带来更加有用和准确的结果,因为地址保证是正确和标准化的。在美国,这被称为 CASS™ 处理(尽管并非所有供应商都进行地理编码)。它对于创建地图上的区域范围(给定地理编码精度值)和准确显示坐标位置而不是距离目标地址数百英里的次佳地址很有用。

这样一种提供地理编码服务的机构是 LiveAddress API。(我现在在 SmartyStreets 工作。)演示网站展示了地理编码的工作原理,但其具有灵活性,因此您可以选择如何使用 tilemill 实施它。此外,LiveAddress没有查询限制,因为该系统将根据需求进行扩展。而且,您不必支付未验证的地址,这有助于防止滥用。

根据您的需求选择适合自己的服务。做些研究,您应该能找到好的解决方案。希望这会对您有所帮助!


1
谢谢您的回复。有关于加拿大地址的建议吗? - banditKing
有一些免费的服务,例如 Nominatim,可以进行全球地理编码,或者您也可以尝试像 Cdyne 或 StrikeIron 这样的商业服务。 - Matt
@banditKing,如果你仍然有兴趣使用我们的服务,SmartyStreets刚刚开始提供国际地址服务。 - camiblanch

2

0

当然,您也可以运行自己的Nominatim安装。这需要一些工作量,但是这样您就没有任何限制了...

要开始,请参考this page


1
虽然这个链接可能回答了问题,但最好在此处包含答案的必要部分并提供链接以供参考。仅有链接的回答可能会因为链接页面的更改而失效。 - Sasa
抱歉,也许我没有理解您的意思,但我真的不知道您想要告诉我什么。您真的希望我将整个引用页面复制进来吗?因为这是安装Nominatim的逐步说明。那么当事实上整个过程都是必要的时,我该如何提取关键部分呢?您是否真正阅读了这里的问题、我的回答和引用的页面?所以如果我错过了您的重点,请纠正我。 - linuzer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接