我通常使用ggmap
在简单的城市地图上绘制点。今天这样做时,我想出了一个新的错误,禁止我使用get_map()
函数
#get API key @ https://developers.google.com/places/web-service/get-api-key
key<-"AIzaSyCYgKKt2fn7Crt-V6Hnc5aw5lSfy7XLQ-Y"
register_google(key = key)
atw<- get_map(location=c(-88.68,42.14), zoom=10, scale=2)
我不确定问题出在哪里。我尝试了一个新的API密钥,但没有运气。有什么输入?
错误如下:
无法打开网址'https://maps.googleapis.com/maps/api/staticmap?center=42.14,-88.68&zoom=10&size=640x640&scale=2&maptype=terrain&language=en-EN&key=AIzaSyCYgKKt2fn7Crt-V6Hnc5aw5lSfy7XLQ-Y':HTTP状态为'403 Forbidden'Error in download.file(url,destfile = destfile,quiet =!messaging,mode =“wb”):无法打开网址'https://maps.googleapis.com/maps/api/staticmap?center=42.14,-88.68&zoom=10&size=640x640&scale=2&maptype=terrain&language=en-EN&key=AIzaSyCYgKKt2fn7Crt-V6Hnc5aw5lSfy7XLQ-Y'
已更新:2018-12-01 for ggmap 2.7.904和当前的Google Cloud API
您的API密钥是
看看这个step-by-step tutorial on Stackoverflow。
要检查问题是什么,请键入geocode("Houston", output = "all")
并查看错误消息。
> geocode("Houston", output = "all")
$error_message
[1] "The provided API key is invalid."
$results
list()
$status
[1] "REQUEST_DENIED"
这意味着您提供了Google无法识别的API密钥。也许是错误的,可能是错误的?有时会出现奇怪的问题,因此请在Google控制台中生成新的API密钥,然后重试。
> geocode("Houston", output = "all")
$`error_message`
[1] "This API project is not authorized to use this API."
$results
list()
$`status`
[1] "REQUEST_DENIED"
这意味着您的API密钥有效,但您不允许使用此特定API。请记住:Google为每种小型请求都提供了API(静态地图,路线,地理编码等)。因此,您需要转到Google控制台并为正确的API启用此API密钥,在本例中为Geocoding。
> ggmap(get_map("Houston"))
如果您的API密钥正在运行,您还可以使用library(googleway)
绘制交互式地图
library(googleway)
## you can use separate API keys for different APIs
set_key( "GOOGLE_API_KEY", api = "geocode")
set_key( "GOOGLE_MAP_KEY", api = "map")
## you can view the keys you have with
google_keys()
google_map( location = c(52, 0), zoom = 6 )
## add a marker by geocoding an address
res <- google_geocode("Buckingham Palace")
loc <- geocode_coordinates( res )
google_map() %>%
add_markers(data = loc)