2017-07-28 48 views
4

幾天以來,基本圖層瓦片「OSM」和「Stamen.TonerLite」(我已經使用了一年多作爲我的地圖的標準瓷磚)沒有正確顯示 - 即無法在它們之間切換。當使用瀏覽器打開.html(= .Rmd輸出)時,Leaflet Layer Tiles不可切換

只要在RStudio和RStudio Viewer中顯示地圖,一切都可以正常工作。但是,只要在瀏覽器中打開.Rmd輸出的相應.html文件(我嘗試了Chrome,Internet Explorer,Edge和Firefox),就不可能在切片之間切換。顯示「OSM」,我不能切換到「Stamen.TonerLite」,反之亦然。
我已經嘗試了不同的圖層拼貼或超過2層拼貼,但結果相同。即使切換到其他圖層,也只能看到一個圖層拼貼。

我的情況可重複的例子

--- 
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 
``` 

enter image description here

enter image description here

回答

4

試試這個,關鍵是要管的兩個提供瓷磚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 
```