3个不同的url, 3种不同的地理编码方式.做这件事的正确方法是什么?



我只想获得给定地址的地理编码。我是用Java写的。前面我使用的url是

" http://maps.google.com/maps/geo?q= " + URLEncoder。encode(addrToFind, ENCODING) + "&output=csv&key=" + MyKEY

返回逗号分隔的结果,如(status_code,lat,lng,precision)然后由于一些奇怪的原因,这个url开始给我状态码610(无效的api密钥)我从Google重新生成了浏览器密钥,但是无效。

然后我有了另一种方法来对新url进行地理编码只是在前一个url中使用'geo'字

" http://maps.google.com/maps?q= " + URLEncoder.encode(邮编,"utf - 8");

我从这个url的最终结果中提取了纬度和经度,但我注意到这个url给了我整个html页面作为它的响应,而我想要的只是延迟和精度。

然后我终于找到了一个全新的url"//maps.googleapis.com/maps/api/geocode/json ?传感器= false&地址= " + address_to_geocode;这为我提供了从中提取所需信息的Json响应。这个url也不需要api key。从上面3做Geocod的正确方法是什么,或者是否有任何其他最佳方法?

对于第一个URL,请参阅此,这是已弃用的v2 Geocoding API,其生命周期已延长,但不建议用于新开发。

第二个URL是一个Google Map,没有作为Geocoder使用的文档。

当前的v3地理编码API是你应该使用的。

最新更新