3

我只是想从街道地址 => lat/long 转换表单字段。理想情况下,用户输入邮政编码或完整的街道地址,隐藏字段会填充相应的纬度/经度。无需创建地图。不需要方向。只是一个简单的转换。有任何想法吗?

4

2 回答 2

2

您可以使用Google 地图地理编码网络服务。但是,请注意,根据服务条款,您必须在 Google 地图上显示结果。

如果您想使用 JavaScript,可以使用Google Maps API Geocoder

于 2012-06-12T01:03:14.787 回答
1

SmartyStreets有一个名为LiveAddress的API ,它非常容易连接,它不仅可以对地址进行地理编码,还可以验证它是否正确和完整。这是一个简单的带有 JSON 输出的 REST 端点,因此很容易与JavascriptPHP等一起使用。(它实际上每秒可以支持数千个地址,每个请求最多 100 个地址。)

正如安德烈斯所提到的,在使用他们的服务获取纬度/经度时,您需要显示谷歌地图。还有其他 API 没有这种限制,但它们中的大多数都不会验证地址是否实际存在(例如 Google,它只是近似值),并且它们通常具有较低的使用限制。

像 LiveAddress 这样的 API 只会返回有效地址的结果,如果它们是真实的,则会返回接近匹配的结果,并且没有许可证限制会阻止您在特定情况下使用它。

我是 SmartyStreets 的开发人员之一,因此我很乐意帮助您解决有关使用地址的任何其他问题。

顺便说一句,这里有一个不为人知的秘密:您实际上可以将地址作为单行提交(这意味着您的表单中只需要一个字段而不是 4 或 5)并且您仍然会得到有效的结果. 这是一个使用jQueryPHP的例子。

于 2012-06-12T02:18:08.600 回答