使用谷歌地图和ggmap地理编码功能的不同纬度和经度

时间:2013-08-20 10:24:55

标签: r google-maps geocoding latitude-longitude ggmap

我正在尝试使用 ggmap 将加拿大最近的沃尔玛商店绘制成某个邮政编码。用于获取位置的函数是:

goodPoint<-geocode("M1L2K1 walmart canada")

这返回了lat和lon:

> goodPoint
       lon      lat
1    -79.30113  43.72304

当我使用相同的搜索字词检查谷歌地图搜索并获得纬度和经度时,我得到43.728933,-79.29565。

返回的纬度和经度之间的差异大约是1.1公里,非常重要。

任何人都可以在the documentation表明它使用Google地图作为该位置时,为什么会出现这种差异?有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您是否查看了Google地理编码器的实际输出?地理编码器与地图搜索不同。地理编码器会解析地址,但它不执行搜索,例如“在M1L2K1加拿大附近找到沃尔玛”。

https://maps.googleapis.com/maps/api/geocode/json?address=M1L2K1%20walmart%20canada&sensor=false

产生以下解析地址:

  

"formatted_address" : "Scarborough, Ontario M1L 2K1, Kanada"
...
"location_type" : "APPROXIMATE",
...
"types" : [ "postal_code" ]

事实上,谷歌甚至告诉你这是一种“邮政编码解析”地理编码。

同样,地理编码不等于搜索。 “沃尔玛”不是邮政地址,而是一个合理的搜索词。