2013-08-20 15 views
1

我想要使用ggmap將加拿大最近的沃爾瑪商店繪製到某個郵政編碼。用於獲取位置的功能是:使用谷歌地圖和ggmap地理編碼功能不同的經度和緯度

goodPoint<-geocode("M1L2K1 walmart canada") 

這返回的緯度和經度:

> goodPoint 
     lon  lat 
1 -79.30113 43.72304 

當我檢查使用相同的搜索詞谷歌地圖搜索和獲取的緯度和經度,我得到43.728933 ,-79.29565。

返回的經緯度之差約爲1.1公里,非常顯着。

任何人都可以提出爲什麼有這種差異,當它在the documentation它聲明它使用谷歌地圖的位置?有關解決此問題的任何建議?

回答

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" ]

所以,事實上,谷歌甚至告訴你,這是一個 「郵政編碼分辨率」 地理編碼。

此外,地理編碼不等於搜索。 「沃爾瑪」不是郵寄地址,而是一個合理的搜索字詞。

相關問題