【问题标题】:Why google.maps.Geocoder and Google Geocoding API return different results?为什么 google.maps.Geocoder 和 Google Geocoding API 返回不同的结果?
【发布时间】:2013-10-09 09:01:14
【问题描述】:

Google maps API V3 提供了两种将地址转换为 LatLng 的方法:google.maps.Geocoder 类和 Google Geocoding API。虽然我发现当我尝试获取相同地址的 LatLng 时,这两种方法返回不同的结果。正如我发现的那样,google.maps.Geocoder 更准确。这是为什么呢?

我需要创建一个应用程序来获取地址列表的 LatLng,因此 google.maps.Geocoder 对此无能为力,但 Google Geocoding API 并不那么准确。有什么想法吗?

例如:

在下图中,红色图标是 google.maps.Geocoder 的结果,蓝色图标是 Google Geocoding API 的结果。他们都来自地址:“中国北京新街口北大街1号”

谢谢!

【问题讨论】:

  • 据我所知它们是相同的,我认为地理编码器不是独立服务,如果您查看 API http://**maps**.googleapis.com/* *maps**/api/geocode/output?parameters 实际上仍然依赖于 googlemaps API,您应该共享一些代码,以便我们可以检查它并找到导致结果更改的可能原因,也许直接从 API 访问使用一些不同的默认值

标签: javascript google-maps google-maps-api-3


【解决方案1】:

它们都为我返回相同的坐标:

http://www.geocodezip.com/v3_example_geo2.asp?addr1=1%20Xinjiekou%20North%20Street,%20Beijing,%20China&geocode=1

中国北京西城新街口一巷100035 (39.9416447, 116.37176850000003)

http://maps.googleapis.com/maps/api/geocode/json?address=1%20Xinjiekou%20North%20Street,%20Beijing,%20China&sensor=false

        "location" : {
           "lat" : 39.9416447,
           "lng" : 116.3717685
        },

【讨论】:

  • 谢谢。但是 geocodezip 是如何工作的呢?你是怎么得到坐标的?
  • That 使用 Google Maps Javascript API v3 地理编码器。
  • 是我的粗心。我得到了错误的坐标,即视点的东北方向。大声笑。
【解决方案2】:

看来geometry.locationlatlng 将被Geocoding-API 舍入到精度为7。

【讨论】:

  • 这并不能解释地图中显示的差异。 7 位浮点数精确到大约 0.1 米(在赤道处约为 110.5 公里/度)。显示的距离比那个大。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-18
  • 1970-01-01
  • 1970-01-01
  • 2016-06-12
  • 2010-10-31
  • 2013-03-13
  • 1970-01-01
相关资源
最近更新 更多