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

时间:2018-10-10 14:58:25

标签: r ggmap

去年夏天,我在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'

有人可以解释这些软件包的情况以及我可以使用哪些其他替代方法来使用地块的地图吗?

1 个答案:

答案 0 :(得分:6)

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

涉及一些步骤:

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

祝你好运!