2016-01-14 3 views
4

Я хочу получить местоположение поискового термина с Google Maps.Получить координаты местоположения с карт Google в R

Here's an example with the term "pizza" near London

Я хотел бы получить результаты широты и долготы для каждого места. Я искал, и это возможно, если у вас есть адрес.

Here's an example using address.

Однако я заинтересован в использовании термина поиска так же, как вы могли бы сделать при поиске термина в Google Maps.

+1

[API Google Адресов] (https://developers.google.com/places/web-service/search) может предоставить вам необходимую информацию, но вам нужно написать сценарий, чтобы вызвать его из R . 'httr' и/или' jsonlite' будут полезны. – alistaire

+0

@alistaire Я посмотрю на него и вернусь, если у меня возникнут трудности –

ответ

4

Я пошел в API Google Адресов, как это было предложено в комментариях. Мне удалось создать учетную запись и получить ключ. Я написал функцию с именем encontrar, которая в основном ищет места с ключевым словом в радиусе от центра. Я приказываю получить центр Я пошел на карты Google и нашел широту и долготу для этого момента. Это было очень быстро сделать вручную. Я не думаю, что мне нужно будет написать код для этого, но быть моим гостем. Поэтому, как только центр определен,

coordenadas<-c(-34.605424, -58.458499) 

encontrar<-function(lugar,radius,keyword){ 

# radius in meters 
#lugar is coordinates from google maps by hand 
    coor<-paste(lugar[1],lugar[2],sep=",") 
    baseurl<-"https://maps.googleapis.com/maps/api/place/nearbysearch/json?" 
    google_key<-c(" YOUR KEY HERE") 


q<-paste(baseurl,"location=",coor,"&radius=",radius,"&types=food|restaurant&keyword=",keyword,"&key=",google_key, sep="") 

print(q) 

data1<-fromJSON(q) 

lat_long<-data.frame(lat=data1$results$geometry$location$lat,long=data1$results$geometry$location$lng) 

#print(data1) 

sitios<-data1$results$name 

df<-cbind(sitios,lat_long) 
return(df) 
} 


encontrar(lugar = coordenadas,radius = 500,"pizzeria") 

дает хороший кадр данных с мест в пределах 500 м

Стоит также отметить, что "&types=food|restaurant" помощь в этом случае, потому что ключевое слово является «Пиццерия». Его следует изменить в другом случае.

+0

Хорошо, что это работает, но ограничено 20 ... ищет обходное решение с этим –

+0

Одним из «обходных путей» будет платить Google. –

+0

Ну да, это было бы здорово, но не обходное решение, которое я ищу. Возможно, я могу взять образцы в городе и использовать 1000 бесплатных запросов, которые вы получаете в день, пока количество уникальных мест не сходится, а просто думает –

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