R 中的 ggmap 和 mapview 包有问题吗?

Is something wrong with the ggmap and mapview packages in R?

去年夏天,我在 R 中编写代码,其中使用了包 mapviewggmap。在夏天,代码运行良好。上周我 运行 代码没有任何更改,当我使用 mapview:

时收到以下消息
mapview(as(tr10, "Spatial"), zcol = "utc_timestamp", lwd = 5,
      legend = TRUE)
Error in htmlwidgets::sizingPolicy(defaultWidth = defaultWidth, defaultHeight = defaultHeight,  : 
unused argument (browser.external = FALSE)

我没有对我的代码进行任何更改,我升级了包以防万一,但仍然无法正常工作。使用 ggmap 我得到以下信息:

puerto_rico <- get_map(location = c(lon = mean(long), lat = mean(lat)), 
                     maptype = "terrain", source = "google",
                     zoom = 12)
Error in download.file(url, destfile = tmp, quiet = !messaging, mode = "wb") : 
cannot open URL 'http://maps.googleapis.com/maps/api/staticmap?center=18.2,-67.1&zoom=12&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=18.2,-67.1&zoom=12&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false': HTTP status was '403 Forbidden'

有人可以解释一下这些包发生了什么,以及我还有哪些其他选择可以让我访问地图对我的地块的使用?

Google 加强了对 API 访问 Google 地图产品的控制。这意味着您现在需要 Google API 密钥才能使用 ggmap()。

涉及几个步骤:

  1. 访问 https://console.cloud.google.com 并创建一个新项目。
  2. 设置一个API键:导航菜单 -> APIs and services -> Library -> 静态地图 API
  3. 创建一个计费帐户并为 API 密钥启用计费。您将需要提供信用卡详细信息,但无需支付任何费用。最好对如何使用 API 密钥来防止盗窃设置一些限制——如果您不共享您的代码,最简单的方法可能是将它限制为来自您自己的 IP 地址的请求。
  4. 为此 api 键启用静态地图。
  5. 在 R 中,运行register_google("<your API key>")。您将需要 运行 这个 对于您将在其中使用 ggmap() 的每个新会话。我已将其添加到我的 .Rprofile。

祝你好运!