ggmap 和 get_stamenmap 在绘制区域时返回错误

Yug*_*ril 1 maps r ggmap

我已经使用 package ggmapsinRstudio绘制空间分布图几个月了。

用于绘制地图的基本代码terrain-background行如下:

### Load packages ####
library(tidyverse); library(googlesheets4); library(openintro)
library(maps); library(ggmap); library(ggthemes); library(Cairo)

#### Set bounding box of Africa ####
bbox2 <- c(left = -18.63,
           right = 52.03,
           bottom = -35.32,
           top = 38.96)

Africa <- get_stamenmap(
  bbox = bbox2,
  maptype = c("terrain-background"),
  zoom = 7) 
Run Code Online (Sandbox Code Playgroud)

从今天早上开始,返回如下错误:

Error in f(init, x[[i]]) : 
  number of rows of matrices must match (see arg 2)
Run Code Online (Sandbox Code Playgroud)

正如我所提到的,这些代码行在过去几个月中一直运行良好(于 2023 年 10 月 2 日绘制了同一区域)。我还尝试过之前绘制的先前区域(例如欧洲)并返回相同的错误。

我尝试了几种解决方案:重新启动 R 会话、更新 R 和 RStudio、重新安装 ggmpas 和关联的软件包....它们都不起作用

Ann*_*arf 5

Stadia Maps, Inc.的这份“ Stamen 地图图块用户迁移指南”看起来很有前途。

简而言之,主要步骤ggmap(对于其他库,请参阅上面的链接):

  1. 创建一个 Stadia 地图帐户。入门流程将引导您完成设置域身份验证或 API 密钥。
  2. 有一个针对 ggmap 的开放拉取请求,预计 4.0.0 版本将完全支持这些更改,但在此之前,人们可以安装 ggmap 的 Stadia Maps 分支:
remove.packages("ggmap")
devtools::install_github("stadiamaps/ggmap") 
Run Code Online (Sandbox Code Playgroud)
  1. 您现在可以使用get_stadiamap(替换该get_stamenmap函数)或qmplot像以前一样使用。请注意,maptype雄蕊样式的参数与我们的样式名称相匹配并包含stamen_前缀。这是一个使用 get_stadiamap 显示美国地图的最小示例。请务必注册一个帐户以获取 API 密钥。write = TRUE您可以选择通过传递到 来保留密钥register_stadiamaps
library("ggmap") 
register_stadiamaps("YOUR-API-KEY-HERE") 
us <- c(left = -125, bottom = 25.75, right = -67, top = 49)
get_stadiamap(us, zoom = 5, maptype = "stamen_toner") %>% ggmap() 
Run Code Online (Sandbox Code Playgroud)