我只是想把街道地址=> latlong.理想情况下,用户输入邮编或完整的街道地址,一个隐藏的字段就会被填入相应的纬度经度.不需要创建地图,不需要指示,只是一个简单的转换,有什么想法吗?
你可以使用 谷歌地图地理编码网络服务. 但是,请注意,根据服务条款,您必须在谷歌地图上显示结果。
如果你想使用JavaScript,你可以使用的是 谷歌地图API Geocoder.
有的是 地址验证API 由 SmartyStreets 的,真的很容易挂接,它不仅会对地址进行地理编码,还会验证地址是否正确和完整。它是一个简单的REST端点,有JSON输出,所以很容易与 Javascript, PHP等(实际上它可以支持每秒数千个地址,每次请求最多100个地址)。
正如Andres所提到的,你在使用他们的服务获取纬度&经度时,需要显示谷歌地图。还有其他的API没有这个限制,但他们大多不会验证地址的实际存在(比如Google,只能近似),而且他们往往会有很低的使用限制。
像SmartyStreets这样的API只会返回有效地址的结果,并且会返回接近匹配的结果。如果 它们是真实的,而且没有许可限制,不会阻止您在您的特殊情况下使用它。
我是SmartyStreets的开发者之一,所以我很乐意帮助你解决任何关于使用地址的问题。
顺便说一下,这里有一个不为人知的小秘密:您可以将地址作为单行提交(这意味着您只需要在表单中输入一个字段,而不是4或5个字段),而且您仍然可以得到有效的结果。下面是一个例子 jQuery 和 PHP.