2017-04-18 38 views
0

我已经使用https://mapstyle.withgoogle.com/自定义了使用ggmap的样式。我的问题是如何将JSON集成到我的R代码中。ggmap的自定义地图样式

我尝试下面的代码无济于事:

map <- get_googlemap(center = 'London', zoom = 15, 
        style = c('element:labels|visibility:off', 'feature:road.local|visibility:off')) 
ggmap(map) 

它与单纯却不能在一起的两种风格的命令。我的代码中的错误在哪里?

回答

0

我不清楚自己ggmap是如何接收样式的,但get_googlemap有一个参数可以将字符串注入发送到Google Maps API的URL中。基于Google Maps docs,您的字符串看起来格式正确,用于注入。您可以将这些样式规格中的每一个折叠成单个字符串,并将其分配给参数inject而不是style

所以

stylestr <- sprintf("&style=%s", c("element:labels|visibility:off", "feature:road.local|visibility:off") %>% paste(collapse = "")

将产生可以作为你的inject参数字符串&style=element:labels|visibility:off&style=feature:road.local|visibility:off

。 (我用sprintfpaste,以方便添加样式规格的整体转换。)

0

我已经开发出一种新的封装ggmapstyles,这应该有助于解决这个问题:https://github.com/mikey-harper/ggmapstyles

包,您可以选择设计从Snazzy Maps,并使用样式从页面是将网址复制到样式简单:

devtools::install_github("mikey-harper/ggmapstyles") 
library(ggmapstyles) 

map <- get_snazzymap(center = 'London', 
        mapRef = "https://snazzymaps.com/style/61/blue-essence") 
ggmap(map) 

enter image description here

如果你没有找到你喜欢的设计,你可以免费加入Snazzy Maps,并在Web浏览器中制作自己的定制设计。