R传单在覆盖层之上绘制基础层
R leaflet is drawing base layers on top of overlay layers
我 运行 遇到 R 传单的问题:当我更改基础层(多边形)时,覆盖层被推到基础层后面。根据我对 leafletR 帮助文件的阅读,覆盖层的 z-index 应该始终高于基础层,并且应该保持在顶部。
例子在这里:http://rpubs.com/bvila/overdraw
require(acs)
require(tigris)
require(leaflet)
require(tidyverse)
leaflet(data = counties(state = "UT")) %>%
addPolygons(color = "red", fillColor = "orange", group = "base1", fillOpacity = 1) %>%
addPolygons(color = "pink", fillColor = "purple", group = "base2", fillOpacity = 1) %>%
addPolygons(color = "yellow", fillColor = "green", group = "overlay", fillOpacity = 1) %>%
addLayersControl(baseGroups = c("base1", "base2"), options = layersControlOptions(collapsed = F), overlayGroups = "overlay")
多边形图层的 z-index 应始终高于图块图层。图层控件使用此术语,因为基础组旨在作为基础(平铺)图层,而叠加组旨在作为叠加(多边形)图层。
您可以通过一些 JavaScript 来解决这个问题,请参阅添加到管道的 onRender 阶段(对于给定的地图对象,您只需执行一次):
leaflet(data = counties(state = "UT")) %>%
addPolygons(color = "red", fillColor = "orange", group = "base1", fillOpacity = 1) %>%
addPolygons(color = "pink", fillColor = "purple", group = "base2", fillOpacity = 1) %>%
addPolygons(color = "yellow", fillColor = "green", group = "overlay", fillOpacity = 0.5) %>%
addLayersControl(baseGroups = c("base1", "base2"), options = layersControlOptions(collapsed = F), overlayGroups = "overlay") %>%
htmlwidgets::onRender("
function(el, x) {
this.on('baselayerchange', function(e) {
e.layer.bringToBack();
})
}
")
我 运行 遇到 R 传单的问题:当我更改基础层(多边形)时,覆盖层被推到基础层后面。根据我对 leafletR 帮助文件的阅读,覆盖层的 z-index 应该始终高于基础层,并且应该保持在顶部。
例子在这里:http://rpubs.com/bvila/overdraw
require(acs)
require(tigris)
require(leaflet)
require(tidyverse)
leaflet(data = counties(state = "UT")) %>%
addPolygons(color = "red", fillColor = "orange", group = "base1", fillOpacity = 1) %>%
addPolygons(color = "pink", fillColor = "purple", group = "base2", fillOpacity = 1) %>%
addPolygons(color = "yellow", fillColor = "green", group = "overlay", fillOpacity = 1) %>%
addLayersControl(baseGroups = c("base1", "base2"), options = layersControlOptions(collapsed = F), overlayGroups = "overlay")
多边形图层的 z-index 应始终高于图块图层。图层控件使用此术语,因为基础组旨在作为基础(平铺)图层,而叠加组旨在作为叠加(多边形)图层。
您可以通过一些 JavaScript 来解决这个问题,请参阅添加到管道的 onRender 阶段(对于给定的地图对象,您只需执行一次):
leaflet(data = counties(state = "UT")) %>%
addPolygons(color = "red", fillColor = "orange", group = "base1", fillOpacity = 1) %>%
addPolygons(color = "pink", fillColor = "purple", group = "base2", fillOpacity = 1) %>%
addPolygons(color = "yellow", fillColor = "green", group = "overlay", fillOpacity = 0.5) %>%
addLayersControl(baseGroups = c("base1", "base2"), options = layersControlOptions(collapsed = F), overlayGroups = "overlay") %>%
htmlwidgets::onRender("
function(el, x) {
this.on('baselayerchange', function(e) {
e.layer.bringToBack();
})
}
")