javascript - 传单:如何仅在一层上显示标记或图例?
问题描述
我制作了一张带有不同图层的传单地图,如下所示:
L.easyButton('<span class ="buttons">Example </span>', function (btn, map) {
if (map.hasLayer(example1)) {
map.removeLayer(example1);
};
if (map.hasLayer(example2)) {
map.removeLayer(example2);
};
if (map.hasLayer(example3)) {
map.removeLayer(drittpa2017zweit);
}
map.addLayer(example4);
}, 'FirstExample').addTo(map);
依此类推...
我声明了一个图例,我只想在一层打开时使用它,现在它一直出现,我认为正因为如此
legendwahlbeteiligung.addTo(map);
我尝试了在这里看到的所有内容,使其仅在一层上可见,但随后它们都消失了……
我使用的标记有同样的问题,我也只想在提到的一层上显示它……
谁能告诉我如何使图例和标记仅在单击一层时出现?
解决方案
要使标记在图层可见myMarker
时出现并在图层example1
不可见时消失:
var myMarker = L.marker(...);
example1.on('add', function(e) {
if (! map.hasLayer(myMarker)) {
myMarker.addTo(map);
}
});
example1.on('remove', function(e) {
if (map.hasLayer(myMarker)) {
myMarker.removeFrom(map);
}
});
推荐阅读
- apache-spark - Pyspark udf 对于没有参数的函数失败,但适用于没有参数的 lambda
- c# - 返回包含大数据的局部视图
- javascript - 如何从脚本标签中读取 Window.Object
- javascript - 排序时尊重 0
- angularjs - Angularjs splitChunks $injector:modulerr 错误
- php - 使用 CURL 在浏览器中下载文件时遇到问题
- javascript - 如何将扩展库(如 javascript)包含到 cakephp 视图中
- mysql - 创建嵌套存储过程
- python - TypeError:字符串格式化期间并非所有参数都转换 - psycopg2
- c# - 处理从多个脚本收集玩家数据 [Unity]