从R中的谷歌地图中检索位置坐标

时间:2016-01-14 21:25:31

标签: r google-maps google-maps-api-3

我想从谷歌地图中检索搜索词的位置。

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

我想获得每个地方的纬度和经度的结果。我一直在寻找,如果你有地址,这是可能的。

Here's an example using address.

但是,我有兴趣使用搜索字词,就像在Google地图中搜索字词时一样。

1 个答案:

答案 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;。在其他情况下应该改变。