1

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

goodPoint<-geocode("M1L2K1 walmart canada")

这返回了纬度和经度:

> goodPoint
       lon      lat
1    -79.30113  43.72304

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

返回的经纬度相差约1.1公里,相当显着。

任何人都可以建议为什么在文档中声明它使用谷歌地图作为位置时会有这种差异?对解决此问题的方法有什么建议吗?

4

1 回答 1

1

你看过谷歌地理编码器的实际输出吗?地理编码器与地图搜索不同。地理编码器解析地址,但它不执行诸如“在加拿大 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" ]

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

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

于 2013-09-19T13:49:34.887 回答