Google Place with R

dax*_*x90 4 json r google-api google-places

我的目的是使用R来查询google api.我有一个地址和名称列表(属于商店,餐馆等),我需要存储每个地址和名称:

"纬度","经度","商业类型"

我的想法是使用google place api:

- 使用文本搜索请求搜索地址以存储纬度经度

https://maps.googleapis.com/maps/api/place/textsearch/xml?query=address&key=AddYourOwnKeyHere
Run Code Online (Sandbox Code Playgroud)

-则使用雷达搜索请求搜索的名称附近的纬度 ê 经度.所以我得到了ID_place

https://maps.googleapis.com/maps/api/place/radarsearch/json?location=latitude,longitude&radius=1&keyword=name&key=AddYourOwnKeyHere
Run Code Online (Sandbox Code Playgroud)

- 感谢ID_place,我查询地方详细信息请求以获取有关业务类型的详细信息(例如"类型":["food"])

https://maps.googleapis.com/maps/api/place/details/json?placeid=ID_place&key=AddYourOwnKeyHere
Run Code Online (Sandbox Code Playgroud)

我很高兴使用谷歌API,也许不是最有效的方法.但我需要考虑一下: - 有时候地址不完整(有时候我的公民号码丢失了) - 总是名字是正确的(有时我有缩写)

我需要了解一些事情:

  • - 如果这是最好的方法
  • - 如何使用R查询这些Google API
  • - 如何处理json输出

Sym*_*xAU 5

要在R中访问Google Places API,您可以使用我的googleway软件包,尤其是google_places().

这也为您处理JSON输出.

library(googleway)

key <- 'your_api_key_goes_here'

df_places <- google_places(search_string = "cafe", 
                           location = c(-37.81827, 144.9671),   ## melbourne, AU
                           key = key)

df_places$results$name

# [1] "Time Out Fed Square"    "Dukes Coffee Roasters"  "Alice Nivens"           "Little Cupcakes"        "Lindt Chocolate Cafe"   "Cafe Andiamo"          
# [7] "The Journal Cafe"       "RMB Cafe Bar"           "Cafe Issus"             "ACMI Cafe & Bar"        "Ponyfish Island"        "Aix Cafe"              
# [13] "Seedling Cafe"          "Eliana Lulu"            "B3 Cafe"                "Lindt Chocolate Cafe"   "Switch Board Cafe"      "Urban Express Cafe"    
# [19] "Cento Mani"             "1932 Cafe & Restaurant"
Run Code Online (Sandbox Code Playgroud)

如果您想了解有关给定位置的更多详细信息,可以使用它google_place_details()来搜索上一个place_id查询返回的其中一个

df_details <- google_place_details(place_id = df_places$results[1, "place_id"],
                                   key = key)

df_details$result
# [1] "restaurant"        "cafe"              "bar"               "food"              "point_of_interest" "establishment"

df_details$result$reviews
#      aspects            author_name                                    author_url language rating
# 1 0, overall Fredrich Oliver-bently https://plus.google.com/114792371400821038660       en      2
# 2 0, overall           Jenn Besonia https://plus.google.com/110502657363574676299       en      2
# 3 0, overall             Sewa G S R https://plus.google.com/118332347441422887680       en      1
# 4 0, overall             M Mathumbu https://plus.google.com/104636428392041496439       en      2
# 5 2, overall                 Bo Cui https://plus.google.com/104475569220729624507       en      4
Run Code Online (Sandbox Code Playgroud)