R:ggmap中的get_map()错误

时间:2018-08-27 12:15:34

标签: r ggplot2 ggmap

我正在尝试使用get_map()函数在R中为特定位置绘制一个简单地图。以下是我的代码:

例如

get_map(location = "texas", zoom = 10, source = "google")

我尝试了不同的参数。我收到的错误如下:

Error in aperm.default(map, c(2, 1, 3)) : 
perm' is of wrong length 3 (!= 2)

后台到底发生了什么,该如何解决?我检查了所有可能的博客,似乎没有人收到此错误。

请帮助!

4 个答案:

答案 0 :(得分:0)

由于基本URL而发生此错误。在CRAN version中,基本URL不安全。 使用来自{github}的此程序包的dev版本来代替&函数运行正常。 使用devtools::install_github(""dkahle/ggmap")从github安装库

答案 1 :(得分:0)

我使用的是github上的ggmap,但是在这里面临着同样的问题...

> devtools::install_github("dkahle/ggmap")
Skipping install of 'ggmap' from a github remote, the SHA1 (7b696967) has not changed since last install.
  Use `force = TRUE` to force installation
> library(ggmap)
Carregando pacotes exigidos: ggplot2
Google's Terms of Service: https://cloud.google.com/maps-platform/terms/.
Please cite ggmap if you use it! See citation("ggmap") for details.
> register_google(key = "MyKey")
> geocode("parque do ibirapuera")
Source : https://maps.googleapis.com/maps/api/geocode/json?address=parque+do+ibirapuera&key=xxx-mKaA7Kw
# A tibble: 1 x 2
    lon   lat
  <dbl> <dbl>
1 -46.7 -23.6
> get_map(location = "texas", zoom = 10, source = "google")
Source : https://maps.googleapis.com/maps/api/staticmap?center=texas&zoom=10&size=640x640&scale=2&maptype=terrain&language=en-EN&key=xxx-mKaA7Kw
Error in aperm.default(map, c(2, 1, 3)) : 
  primeiro argumento inválido: deve ser um array
Além disso: Warning message:
In get_googlemap(center = location, zoom = zoom, maptype = maptype,  :
  HTTP 400 Bad Request
> 

答案 2 :(得分:0)

直接导航到生成的URL,您应该看到另一条错误消息,该消息可能更有用:

https://maps.googleapis.com/maps/api/staticmap?center=31,-97&zoom=10&size=640x640&scale=2&maptype=terrain&language=en-EN&key=<INSERT_YOUR_KEY>

就我而言,它表示我的API密钥对此API无效,尽管到那时为止,该错误仅代表

Error in aperm.default(map, c(2, 1, 3)) : 
     invalid first argument, must be an array

HTTP 400 Bad Request

答案 3 :(得分:-1)

我遇到了同样的问题,并且更新了我的Google api密钥。