代码之家  ›  专栏  ›  技术社区  ›  MichiSmith

当用浏览器打开.html(=.Rmd输出)时,传单层瓷砖不可切换

  •  5
  • MichiSmith  · 技术社区  · 7 年前

    几天来,基本层瓷砖“OSM”和“Stamen.TonerLite”(我已经用了一年多作为我的地图的标准瓷砖)没有正确显示,即无法再在它们之间切换。

    只要地图显示在RStudio和RStudio查看器中,一切都会完美地工作。然而,只要我在浏览器中打开.Rmd输出的相应的.html文件(我尝试了chrome、internet explorer、edge和firefox),就不可能再在互动程序之间切换。要么显示“OSM”,我不能切换到“Stamen.TonerLite”,要么反之亦然。
    我尝试了不同的层瓷砖或两层以上的瓷砖,但结果相同。即使我切换到其他层,也总是只有一层瓷砖可见。

    就我而言:

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

    1 回复  |  直到 6 年前
        1
  •  5
  •   Patrik_P    7 年前

    试试这个,重点是通过管道将两个提供程序tile连接到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
    ```