2013-08-20 2 views
1

Я пытаюсь построить ближайший магазин Walmart в Канаде до определенного почтового индекса, используя ggmap. Функция используется, чтобы получить расположение является:Различные широты и долготы с использованием карт google и функции геокодирования ggmap

goodPoint<-geocode("M1L2K1 walmart canada") 

Это возвратило широчайшие и Лон:

> goodPoint 
     lon  lat 
1 -79.30113 43.72304 

Когда я проверяю Google поиск по карте, используя один и тот же термин для поиска и получить широту и долготу я получаю 43.728933 , -79,29565.

Разница между возвращаемой широтой и долготой составляет около 1,1 км, что немаловажно.

Может ли кто-нибудь предложить, почему существует эта разница, когда в the documentation указано, что он использует Карты Google для местоположения? Любые предложения по поводу этого?

ответ

1

Вы посмотрели фактический результат геокодирования Google? Геокодер - это не то же самое, что и Поиск карт. Геокодер разрешает адреса, но он не выполняет поиск, такой как «найти walmart возле M1L2K1 canada».

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

Так на самом деле, Google даже говорит вам, что это "почтовый код разрешения" геокодирования.

Опять же, геокодирование не соответствует поиску. «Walmart» - это не почтовый адрес, а разумный поисковый запрос.

Смежные вопросы