Пошук об’єктів по сусідству

library(leaflet)
library(googleway)
library(dplyr)

google_map_api <- readRDS("google_map_api.rds")

Видача - 20 штук:

result <- google_places(
  location = c(50.447074, 30.629035),
  language = "uk",
  search_string = "АТБ",
  radius = 5000,
  key = google_map_api
)
market_location <- dplyr::bind_cols(
  select(result$results, formatted_address, rating, name),
  result$results$geometry$location
) %>% 
  as_data_frame()

market_location
## # A tibble: 20 x 5
##                                       formatted_address rating       name
##                                                   <chr>  <dbl>      <chr>
##  1    вулиця Андрія Малишка, 25/1, Київ, Україна, 02000    4.0 АТБ-Маркет
##  2             вулиця Азербайджанська, 8, Київ, Україна    4.1 АТБ-Маркет
##  3   проспект Юрія Гагаріна, 12/1, Київ, Україна, 02000    3.6 АТБ-Маркет
##  4      02000, вулиця Алма-Атинська, 2/1, Київ, Україна    3.7 АТБ-Маркет
##  5           02000, Харківське шосе, 166, Київ, Україна    4.1 АТБ-Маркет
##  6         вул. Шолом-Алейхема, 4, Київ, Україна, 02000    3.7 АТБ-Маркет
##  7 вулиця Академіка Курчатова, 8а, Київ, Україна, 02000    3.8        АТБ
##  8           Лісовий проспект, 28, Київ, Україна, 02000    3.6 АТБ-Маркет
##  9  02068, проспект Петра Григоренка, 5А, Київ, Україна    4.1 АТБ-Маркет
## 10           вулиця Анни Ахматової, 9/18, Київ, Україна    3.7 АТБ-Маркет
## 11               вулиця Здолбунівська, 7, Київ, Україна    3.8 АТБ-Маркет
## 12      вулиця Русанівська Набережна, 18, Київ, Україна    3.7 АТБ-Маркет
## 13            1А, Тальнівська вулиця, 1А, Київ, Україна    4.6 АТБ-Маркет
## 14       Русанівський бульвар, 11, Київ, Україна, 02000    3.6 АТБ-Маркет
## 15                 вулиця Ентузіастів, 7, Київ, Україна    3.6        АТБ
## 16                  вулиця Російська, 33, Київ, Україна    3.6 АТБ-Маркет
## 17             проспект Павла Тичини, 15, Київ, Україна    3.8 АТБ-Маркет
## 18          вулиця Декабристів, 2, Київ, Україна, 02000    3.9 АТБ-Маркет
## 19          вулиця Ревуцького, 15, Київ, Україна, 02000    3.7 АТБ-Маркет
## 20      вулиця Шолом-Алейхема, 17, Київ, Україна, 02000    3.7 АТБ-Маркет
## # ... with 2 more variables: lat <dbl>, lng <dbl>

Побудуємо карту

market_location %>% 
leaflet() %>%
  addTiles() %>%
  addCircles(
    lng = 30.629035, lat = 50.447074, radius = 5000
  ) %>%
  addMarkers(
    lng = ~lng, lat = ~lat,
    popup = ~formatted_address
  )

Можна використати значення

result$next_page_token
## [1] "CqQCFgEAAJRshakL3xMDYqJQWOyJMzsKau3G5S7SPwy07FSDg9oDQ6YRivp_7x4Kyoy6SfHucNseZ5Zau4y1t1d0O30NTFqCBQTL7O5ejF3DbOXAg0rD9-sv9qTrZsB5lN_-EEIxF2HqVSpjGzJ2yq-fqw8X3G35PC-4hDXwi7cw7-SJVN68FF97I3367f2_FabDekJ3cJjP76WzlE6kmemCzxPVfUMm4rqRjUBKdPEkdp3_ASfLDd2qBnhdH5Y3DIplKwZkI3Scgwds8bWQnD0SxEnlxYAXLKJS167BGuriaRUbOWRgNOzhJRaz4eHnfVCRbfHxYvKwG056tEC4jg1ANgrwP7O9IErPIhFL7tLXvJbooKSpM8YgoKo-3YLDiyXg8YtSmxIQ6sTMAHU-2GEBmcngKjuxGxoU7OvG1ajABzodv45qk7l__bCLIfA"

і далі вивантажувати інфо по 20 шт.

Можна використати радарний пошук, тільки тоді буде мало додаткової інформації про місце і потрібно вказувати name:

result_radar <- google_places(
  location = c(50.447074, 30.629035),
  language = "uk",
  name = "АТБ",
  radius = 5000,
  key = google_map_api,
  radar = TRUE
)
glimpse(result_radar$results)
## Observations: 54
## Variables: 4
## $ geometry  <data.frame> c("50.46054", "50.44136", "50.44733", "50.404...
## $ id        <chr> "66dd795d1da85e82fe89091287cc5012f2781b3b", "28e52d7...
## $ place_id  <chr> "ChIJEzu4vwHQ1EARaqPbGJCPuDE", "ChIJ5-QO0UfF1EARSnkN...
## $ reference <chr> "CmRRAAAAbxCVFQN9CKO7uElUdG-g2aGcg8b7WTEzUJjAh_oOyP9...
result_radar$results$geometry$location %>% 
leaflet() %>%
  addTiles() %>%
  addCircles(
    lng = 30.629035, lat = 50.447074, radius = 5000
  ) %>%
  addMarkers(
    lng = ~lng, lat = ~lat
  )

Для деталей потрібно використовувати відповідну функцію (на вхід place_id):

google_place_details(
  place_id = result_radar$results$place_id[1],
  language = "uk",
  key = google_map_api,
  simplify = T
) %>% 
  glimpse
## List of 3
##  $ html_attributions: list()
##  $ result           :List of 21
##   ..$ address_components        :'data.frame':   7 obs. of  3 variables:
##   .. ..$ long_name : chr [1:7] "25/1" "вулиця Андрія Малишка" "Дніпровський район" "Київ" ...
##   .. ..$ short_name: chr [1:7] "25/1" "вулиця Андрія Малишка" "Дніпровський район" "Київ" ...
##   .. ..$ types     :List of 7
##   ..$ adr_address               : chr "<span class=\"street-address\">вулиця Андрія Малишка, 25/1</span>, <span class=\"locality\">Київ</span>, <span "| __truncated__
##   ..$ formatted_address         : chr "вулиця Андрія Малишка, 25/1, Київ, Україна, 02000"
##   ..$ formatted_phone_number    : chr "044 543 2158"
##   ..$ geometry                  :List of 2
##   .. ..$ location:List of 2
##   .. ..$ viewport:List of 2
##   ..$ icon                      : chr "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png"
##   ..$ id                        : chr "66dd795d1da85e82fe89091287cc5012f2781b3b"
##   ..$ international_phone_number: chr "+380 44 543 2158"
##   ..$ name                      : chr "АТБ-Маркет"
##   ..$ opening_hours             :List of 3
##   .. ..$ open_now    : logi TRUE
##   .. ..$ periods     :'data.frame':  1 obs. of  1 variable:
##   .. ..$ weekday_text: chr [1:7] "понеділок: Відкрито 24 години" "вівторок: Відкрито 24 години" "середа: Відкрито 24 години" "четвер: Відкрито 24 години" ...
##   ..$ photos                    :'data.frame':   10 obs. of  4 variables:
##   .. ..$ height           : int [1:10] 1728 4160 4160 4192 3024 3120 2112 2304 1536 2304
##   .. ..$ html_attributions:List of 10
##   .. ..$ photo_reference  : chr [1:10] "CmRaAAAAtJwgNpaKG4SFDjFGPDrm4b15RbSCkpldpj7dcx1SWQRZIMjCOHCr_kZiwfvvrGKGo6TLd0PkbEewc2W7EEMADkZfgdhTnzWwTXpe18r"| __truncated__ "CmRaAAAAoTjEX1_ST9E1rCP_Jgf1AKN8PvOFpPlueuA676wvqcujFkxJSMwnehEP5Xf_y33CtnCEwV_bCna8po4f-RuRkfhQE4yDU-eE8EfVt7g"| __truncated__ "CmRaAAAAXmYftytdogHQe3ox3DazfxXzKrjJF2PTJTr9Y9sI8jzWymZw-yeRxSl68zSLLtlzeWrwmQ2rdF6hlXX-tCb7SW0BWHEhHAji06r_ERa"| __truncated__ "CmRaAAAAS0Z4wOkRyJznGhydzsOo694yOkgaPsmCnjUhJqJ6cdU9HvXWuLP3byx3Lj7sqcPbKSXMfiEBg718vKL3N647TvRQNP0kb7SI1qGNOoI"| __truncated__ ...
##   .. ..$ width            : int [1:10] 3072 3120 3120 3104 4032 4160 2816 4096 2560 4096
##   ..$ place_id                  : chr "ChIJEzu4vwHQ1EARaqPbGJCPuDE"
##   ..$ rating                    : int 4
##   ..$ reference                 : chr "CmRRAAAATGPwQaLgNBeROCZv1Zb2ggFGmcSqchfkrCGTGzYwVuYeWIrNfB4_YdrXcYd1jOCye91uPZKjLQK6huHxzSS7niVJ66_V0Es6vyylcj1"| __truncated__
##   ..$ reviews                   :'data.frame':   5 obs. of  8 variables:
##   .. ..$ author_name              : chr [1:5] "Олександр Оськін" "Andrej Kalashnik" "Andrey Bakum" "Андрій Нешпор" ...
##   .. ..$ author_url               : chr [1:5] "https://www.google.com/maps/contrib/118334735378938451506/reviews" "https://www.google.com/maps/contrib/107779928830059386082/reviews" "https://www.google.com/maps/contrib/115842882742998151716/reviews" "https://www.google.com/maps/contrib/108214880626143284260/reviews" ...
##   .. ..$ language                 : chr [1:5] "uk" "uk" "uk" "uk" ...
##   .. ..$ profile_photo_url        : chr [1:5] "https://lh3.googleusercontent.com/-Amat3LuhVEo/AAAAAAAAAAI/AAAAAAAAeow/Iz__j9WEcWg/s128-c0x00000000-cc-rp-mo-ba4/photo.jpg" "https://lh5.googleusercontent.com/-8rmRTuh_cu4/AAAAAAAAAAI/AAAAAAAAAAA/ANQ0kf7VZRUKmtnQjAkQ73pGIsDdIJzqxw/s128-"| __truncated__ "https://lh4.googleusercontent.com/-DEXA4FjRkkQ/AAAAAAAAAAI/AAAAAAAAAGY/3Bpz6AzNVqA/s128-c0x00000000-cc-rp-mo-ba2/photo.jpg" "https://lh6.googleusercontent.com/--3qXc-3nA44/AAAAAAAAAAI/AAAAAAAAADw/qKMAEBQ3pQw/s128-c0x00000000-cc-rp-mo-ba2/photo.jpg" ...
##   .. ..$ rating                   : int [1:5] 5 4 4 4 4
##   .. ..$ relative_time_description: chr [1:5] "4 тижні тому" "2 місяці тому" "2 місяці тому" "2 місяці тому" ...
##   .. ..$ text                     : chr [1:5] "Відгук про АТБ завжди має бути такого типу: \"Це АТБ, і цим все сказано\"." "Типовий атб. Трішки груба охорона, але в цілому все добре." "Бувать непоганої якості овочі та фрукти! Ціни радують)" "Дешеве пиво і снеки, але не всі продукти можна знайти" ...
##   .. ..$ time                     : int [1:5] 1506709617 1502691325 1502993666 1501757677 1507467532
##   ..$ scope                     : chr "GOOGLE"
##   ..$ types                     : chr [1:6] "supermarket" "grocery_or_supermarket" "food" "store" ...
##   ..$ url                       : chr "https://maps.google.com/?cid=3582771352628339562"
##   ..$ utc_offset                : int 120
##   ..$ vicinity                  : chr "вулиця Андрія Малишка, 25/1, Київ"
##   ..$ website                   : chr "http://www.atbmarket.com/"
##  $ status           : chr "OK"