r google-maps google-maps-api-3 ggmap

get_map no pasa la clave API(el estado HTTP fue ''403 Prohibido'')



google-maps google-maps-api-3 (4)

No conozco la resolución directa al problema de ggmap , pero si estás contento de trabajar con un mapa interactivo en lugar de uno estático, puedes usar mi biblioteca de googelway

library(googleway) set_key("GOOGLE_MAP_KEY") lat <- c(4,41) #India lat boundaries lon <- c(68,99) #India long boundaries center = c(mean(lat), mean(lon)) google_map(location = center, zoom = 6)

Me he enfrentado a este problema en la función get_map() (biblioteca ggmap ) en R.

Mi código se estaba ejecutando sin la necesidad de especificar una clave de API (para source = "google" ) durante varios meses. Sin embargo, el código dejó de funcionar hace un par de semanas. Comprendí que Google ha hecho que la clave de API sea obligatoria (o quizás permitieron un cierto número de llamadas sin la clave de api que agoté).

Sin embargo, incluso después de especificar la clave API (obtenida de Google Cloud Platform), mi código continuó comportándose de la misma manera. Incluso me puse en contacto con Google Cloud Support, pero dijeron que no había nada malo con la clave de API en sí y que podían invocar el mapa al final.

Sospecho que la función get_map() no está pasando la api_key al invocar el mapa de Google. Cualquier puntero hacia la resolución sería apreciado.

A continuación se muestra el código reproducible (que está fallando).

library(ggmap) lat <- c(4,41) # India lat boundaries lon <- c(68,99) # India long boundaries center = c(mean(lat), mean(lon)) map <- get_map(location = c(lon = mean(lon), lat = mean(lat)), api_key = <my api key>, zoom = 6, maptype = "terrain", source = "google", messaging = TRUE )

Y a continuación se muestra el mensaje de error en R (tenga en cuenta que la clave API no se pasa)

trying URL ''http://maps.googleapis.com/maps/api/staticmap?center=22.5,83.5&zoom=6&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false'' Error in download.file(url, destfile = tmp, quiet = !messaging, mode = "wb") : cannot open URL ''http://maps.googleapis.com/maps/api/staticmap?center=22.5,83.5&zoom=6&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false'' In addition: Warning message: In download.file(url, destfile = tmp, quiet = !messaging, mode = "wb") : cannot open URL ''http://maps.googleapis.com/maps/api/staticmap?center=22.5,83.5&zoom=6&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false'': HTTP status was ''403 Forbidden''


Solo agregando a la respuesta de @ Roman, aquí está el código que funcionó para mí:

if(!requireNamespace("devtools")) install.packages("devtools") devtools::install_github("dkahle/ggmap", ref = "tidyup") library(ggmap) register_google(key = "your_API_key") usa<- get_googlemap(location=''united states'', zoom=4,maptype = "hybrid")

Para obtener más información, puede consultar la página de la biblioteca en github: here
Esperemos que te ayude!


Solo para agregar a la respuesta de Roman Abashin (no puedo comentar, desafortunadamente): Según ''? Get_map ()'', el argumento ''api_key ='' no funciona para los mapas de Google. Tendrá que usar la función ''register_google ()'', pero a partir del 03/10/18, está solo en la versión de desarrollo de ggmap, que puede obtener así:

devtools::install_github("dkahle/ggmap", ref = "tidyup")

Luego también deberá habilitar la facturación en su cuenta de Google, aunque los primeros 100,000 mapas que use cada mes deberían ser gratuitos, consulte aquí: https://cloud.google.com/maps-platform/pricing/sheet/ para obtener más información .

(Consejos extraídos de aquí: https://github.com/dkahle/ggmap/issues/51 )


api_key = usar register_google(key = "..." ) en cada nueva sesión de R. El uso de api_key = dentro de la llamada get_map() no funciona.

actualizado: 2018-12-24 para ggmap 2.7.904 y la actual API de Google Cloud

Tutorial paso a paso

1. Actualizar a la última versión de ggmap

require(devtools) devtools::install_github("dkahle/ggmap", ref = "tidyup")

2. Active su clave de API de Google para todas las API en Google Cloud Console

3. Cargar ggmap y registrar clave

library(ggmap) register_google(key = "...") # copied directly from Google Console via ''copy'' button

4. Trazar mapa por defecto

ggmap(get_googlemap())

5. Parcela con nombre de ubicación (Geocodificación)

ggmap(get_map("Hannover, Germany"))

Si recibe un error aquí (por ejemplo, Forbidden 403) probablemente no haya activado su clave para las API correctas. Tutorial para solucionar problemas de geocodificación

6. Parcela con longitud y latitud.

ggmap(get_map(location=c(16.3738,48.2082), zoom=13, scale=2))