我想从谷歌地图中检索搜索词的位置。
Here's an example with the term "pizza" near London
我想获得每个地方的纬度和经度的结果。我一直在寻找,如果你有地址,这是可能的。
Here's an example using address.
但是,我有兴趣使用搜索字词,就像在Google地图中搜索字词时一样。
答案 0 :(得分:4)
我按照评论中的建议访问了Google Places API。
我设法创建了一个帐户并获得了一个密钥。
我写了一个名为encontrar
的函数,它基本上从一个中心搜索半径为关键字的地方。
为了得到中心,我去谷歌地图,找到了经纬度。这是非常快速的手工做法我不认为我需要为此编写代码,但作为我的客人。
所以一旦定义了中心,
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"
帮助,因为关键字是&#34; pizzeria&#34;。在其他情况下应该改变。