【问题标题】:3 different urls 3 different ways for geocoding.What is the correct way of doing it?3 种不同的网址 3 种不同的地理编码方式。正确的做法是什么?
【发布时间】:2013-04-06 05:25:25
【问题描述】:

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

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

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

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

"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 的正确方法是什么,或者还有其他最佳方法吗?

【问题讨论】:

    标签: geocode google-geocoding-api


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢。所以我使用的第三个网址是 V3。只是出于好奇,我在问题中指定的第二个网址是其中一种方式还是只是一种不好的做法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    相关资源
    最近更新 更多