我通常使用 ggmap 在简单的城市 map 上绘制点。今天这样做时,我遇到了一个新错误,该错误禁止我使用函数 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 key ,但没有成功。有什么意见吗?
错误内容为:
cannot open URL '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 status was '403 Forbidden'Error in download.file(url, destfile = destfile, quiet = !messaging, mode = "wb") : cannot open URL '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 月 1 日,适用于 ggmap 2.7.904 和当前的 Google Cloud API
问题
您的 API key 是
- 无效(输入错误)/未启用结算(最可能的原因)或
- 存在一些连接/代理问题。
看看这个 step-by-step tutorial on Stackoverflow .
解决方案
要检查问题所在,请输入 geocode("Houston", output = "all")
并查看错误消息。
1。 API key 错误
> geocode("Houston", output = "all")
$error_message
[1] "The provided API key is invalid."
$results
list()
$status
[1] "REQUEST_DENIED"
这意味着您提供了 Google 无法识别的 API key 。也许是打字错误,也许是抄错了?有时会出现奇怪的问题,因此请在 Google Console 中生成新的 API key ,然后重试。
2。未启用 API key 进行地理编码
> geocode("Houston", output = "all")
$`error_message`
[1] "This API project is not authorized to use this API."
$results
list()
$`status`
[1] "REQUEST_DENIED"
这意味着您的 API key 有效,但您不允许使用此特定 API。请记住:Google 为每种类型的请求(静态 map 、方向、地理编码等)提供了 API。因此,您需要转到 Google 控制台并为正确的 API 启用此 API key ,在本例中为地理编码。
启用所有 API 的工作输出
> ggmap(get_map("Houston"))
关于r - 使用 API key 在 ggmap 中映射时出错(403 Forbidden),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51481913/