0

我想要的只是获取给定地址的地理编码。我用 Java 做。早些时候我使用了这样的网址

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

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

然后我得到了另一种对新网址进行地理编码的方法,只是在以前的网址中删除了“地理”字样

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

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

然后我终于找到了一个全新的网址“//maps.googleapis.com/maps/api/geocode/json?sensor=false&address="+address_to_geocode; 这给了我 Json 响应,我从中提取了所需的信息。这个 url 也不需要 api 密钥。从以上 3 做 Geocod 的正确方法是什么,或者还有其他最佳方法吗?

4

1 回答 1

0

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

第二个 URL 是Google Map,并且没有记录可用作地理编码器。

当前的v3 Geocoding API是您应该使用的 API。

于 2013-04-06T05:46:08.900 回答