2016-11-08 4 views
1

Я пытаюсь получить координаты предприятий по их названию. Я рассмотрел несколько вопросов по использованию «геокода», но все они работают по адресу. Ниже два примера пытается получить координаты The Westbury Hotel London:Найти координаты по названию компании с картами google

library(ggmap) 
geocode("London") 
geocode("The Westbury Hotel London") # Returns coordinates of Westbury Road in London 

Более сложный подход:

require(RJSONIO) 
library(ggmap) 
geocodeAddress <- function(address) { 
    require(RJSONIO) 
    url <- "http://maps.google.com/maps/api/geocode/json?address=" 
    url <- URLencode(paste(url, address, "&sensor=false", sep = "")) 
    x <- fromJSON(url, simplify = FALSE) 
    if (x$status == "OK") { 
    out <- c(x$results[[1]]$geometry$location$lng, 
      x$results[[1]]$geometry$location$lat) 
    } else { 
    out <- NA 
    } 
    Sys.sleep(0.2) # API only allows 5 requests per second 
    out 
} 
geocodeAddress("The Westbury Hotel London") # Returns London coordinates 

Другого questions отметило, что можно получить координаты из мест с «геокодированием» но, по крайней мере, в моем случае, он не работает. Любая идея о том, как получить координаты по названию компании из Google Maps, очень ценится.

ответ

0

Вы можете использовать Google Places API для поиска мест с использованием моего пакета googleway. Вам нужно будет выполнить некоторую работу с результатами или уточнить свой запрос, если вы хотите получить точный бизнес, который вам нужен, поскольку API обычно возвращает несколько возможных результатов.

Вам нужен ключ API Google, чтобы использовать их службы

library(googleway) 

## your API key 
api_key <- "your_api_key_goes_here" 

## general search on the name 
general_result <- google_places(search_string = "The Westbury Hotel London", 
           key = api_key) 


general_result$results$name 
# [1] "The Westbury" "Polo Bar"  "The Westbury" 

general_result$results$geometry$location 
#  lat  lng 
# 1 53.34153 -6.2614740 
# 2 51.51151 -0.1426609 
# 3 51.59351 -0.0983930 

## more refined search using a location 
location_result <- google_places(search_string = "The Wesbury Hotel London", 
           location = c(51.5,0), 
           key = api_key) 


location_result$results$name 
# [11] "The Marylebone"    "The Chelsea Harbour Hotel" 
# "Polo Bar"     "The Westbury"    "The Gallery at The Westbury" 

location_result$results$geometry$location 
#  lat  lng 
# 1 51.51801 -0.1498050 
# 2 51.47600 -0.1819235 
# 3 51.51151 -0.1426609 
# 4 51.59351 -0.0983930 
# 5 51.51131 -0.1426318 

location_result$results$formatted_address 
# [1] "37 Conduit St, London W1S 2YF, United Kingdom"   "37 Conduit St, London, Mayfair W1S 2YF, United Kingdom" 
# [3] "57 Westbury Ave, London N22 6SA, United Kingdom" 
+0

Благодаря @SymbolixAU, я пытаюсь использовать код, но я не знаю, что такое «» ~/Documents/.googleAPI»? – user3507584

+0

@ JustynaS. Это всего лишь файл, в котором я сохранил ключ API. Вам нужно будет ввести свой собственный, который вы получите от Google – SymbolixAU

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

  • Нет связанных вопросов^_^