作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 75 个叠加组的传单 map ,我想使用图层控制面板将其变为可见/不可见。问题是,我的图层控制面板达到了 map 的末尾,因此图层控制面板中并非所有组都可见。
以下最小可重现示例详细显示了问题:
library(leaflet)
leaflet(width = 400, height = 100) %>%
addTiles() %>%
# Overlay groups
addCircleMarkers(lng = 9, lat = 47, color = 'red', group = 'red') %>%
addCircleMarkers(lng = 8, lat = 46, color = 'blue', group = 'blue') %>%
addCircleMarkers(lng = 8, lat = 47, color = 'green', group = 'green') %>%
addCircleMarkers(lng = 9, lat = 46, color = 'yellow', group = 'yellow') %>%
addCircleMarkers(lng = 8.5, lat = 46.5, color = 'purple', group = 'purple') %>%
# Layers control
addLayersControl(
overlayGroups = c('red', 'green', 'blue', 'yellow', 'purple'),
options = layersControlOptions(collapsed = TRUE))
purple
图层控制面板上的点不可用
最佳答案
我找到了一个适合我的解决方案。它不使用多列布局,但与图层控制面板上的自动溢出一起使用,允许导航到所有图层。
自 addLayersControl
函数没有控制图层控件的列布局的参数,必须使用JavaScript
和 CSS
建立多列布局。
在寻找一个非常简单的替代方案时,我偶然发现了以下内容
https://groups.google.com/forum/#!topic/leaflet-js/aoImrdIoF2Q
.leaflet-control-layers {
max-height: 60px;
overflow: auto;
}
CSS
中包含传单 map 的 .html 文件的一部分。因此,在将传单映射到 .html 文件后,您必须重新打开 .html 文件并将该片段放入
<body>
.html 文件的部分。
<body>
<style type="text/css">
.leaflet-control-layers {
max-height: 60px;
overflow: auto;
}
</style>
...<rest of document>...
</body>
关于R 传单 : Is it possible to have a two column layer control panel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32181421/
我是一名优秀的程序员,十分优秀!