我正在尝试使用 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地图作为该位置时,为什么会出现这种差异?有什么方法可以解决这个问题吗?
答案 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" ]
事实上,谷歌甚至告诉你这是一种“邮政编码解析”地理编码。
同样,地理编码不等于搜索。 “沃尔玛”不是邮政地址,而是一个合理的搜索词。