【问题标题】:Error in get_map using ggmap in R在 R 中使用 ggmap 的 get_map 错误
【发布时间】:2013-11-18 14:32:38
【问题描述】:

大约 90% 的时间,当在 ggmap 中使用 get_map 时,我收到以下错误。谁能告诉我为什么?

map <- get_map(location = 'Australia', zoom = 4)

download.file(url, destfile = destfile, quiet = !messaging, mode = "wb") : 无法打开 URL 'http://maps.googleapis.com/maps/api/staticmap?center=Australia&zoom=4&size=%20640x640&scale=%202&maptype=terrain&sensor=false' 另外:警告消息:在download.file(url,destfile = destfile, quiet = !messaging, mode = "wb") : 无法打开: HTTP 状态是“403 禁止”

【问题讨论】:

  • 您可以查看 Google API 以了解 403 错误的潜在原因:developers.google.com/maps/documentation/business/articles/…。典型的原因似乎是您超出了 API 的每日限制。值得一提的是,我能够复制上面的链接,将其放入我的网络浏览器,并成功返回了澳大利亚的图像……您是否每天生成 1000 多个请求,从而使 API 达到极限?
  • 感谢您的评论。不,我只尝试了几次,所以我不可能用尽 API...
  • 嗯,不知道是不是你的IP地址有问题?您是从大型办公室/大学登录,还是其他计算机将被分配相同的 IP 地址?这是一个完整的 WAG,但我会把钱花在你的计算机、防火墙或 IP 地址妨碍的东西上。您可以尝试使用不同的计算机和/或互联网连接来测试该理论。
  • 非常感谢您的建议。

标签: r ggmap


【解决方案1】:

403 错误是因为 Google 现在要求用户注册并使用(免费)api 密钥。

【讨论】:

  • 您必须在请求中包含 API 密钥(并启用计费)才能在 R 中使用 ggmap 生成任何地图。请参阅the official ggmap repository 以了解清楚。 @sarah-grogan 我怀疑它会在很长一段时间内免费......
【解决方案2】:

问题可能与您的 API 项目未经 Google 授权有关。

API 项目易于创建和获得授权:
单击此link 并选择创建。或者,如果您已经创建了项目,但只需要激活 API,请选择选择。 之后选择“启用”。 之后你的代码应该可以工作了。

再次链接: https://console.developers.google.com/apis/api/static_maps_backend?project=_

【讨论】:

  • 您必须注意,使用 API 会产生费用,该费用将从您在 Google Cloud 中注册所需的信用卡中扣除。
【解决方案3】:

根据文档,“zoom = 4”是“仅供 Google 企业用户使用”。我找不到太多关于为什么这会间歇性地工作或对非商业用户完全有效的文档,但这是我最好的猜测。

【讨论】:

    猜你喜欢
    • 2012-06-25
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    相关资源
    最近更新 更多