现在好几天了,基本图层图 block “OSM”和“Stamen.TonerLite”(我已经使用一年多作为我的 map 的标准图 block )没有正确显示——也就是说,不可能再在它们之间切换。
只要 map 显示在 RStudio 和 RStudio Viewer 中,一切都会完美无缺。但是,只要我在浏览器中打开 .Rmd 输出的相应 .html 文件(我尝试过 chrome、Internet Explorer、Edge 和 Firefox),就不可能再在图 block 之间切换。显示“OSM”,我无法切换到“Stamen.TonerLite”,反之亦然。
我尝试过不同层的瓷砖或超过 2 层的瓷砖,但结果相同。即使我切换到其他层,也始终只有一层图 block 可见。
我的案例的可重现示例:
---
title: "stackoverflow"
author: " "
date: " "
output: html_document
---
```{r, echo = T}
library(leaflet)
m <- leaflet() %>%
addTiles(group = "OSM") %>%
addProviderTiles("Stamen.TonerLite") %>%
addLayersControl(baseGroups = c("OSM", "Stamen.TonerLite")) %>%
addCircleMarkers(lat = 47.4,
lng = 9.37,
radius = 10,
fillOpacity = 1.0)
m
```
最佳答案
试试这个,重点是将两个提供者图 block 通过管道传递给 addTiles() 参数
---
title: "stackoverflow"
author: " "
date: " "
output: html_document
---
```{r, echo = T}
library(leaflet)
m <- leaflet() %>%
addTiles() %>%
addProviderTiles(providers$OpenStreetMap, group = "OSM") %>%
addProviderTiles(providers$Stamen.TonerLite, group = "Toner Lite") %>%
addLayersControl(baseGroups = c("OSM", "Toner Lite")) %>%
addCircleMarkers(lat = 47.4,
lng = 9.37,
radius = 10,
fillOpacity = 1.0)
m
```
关于html - 使用浏览器打开 .html(= .Rmd 输出)时,Leaflet Layer Tiles 不可切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45372349/