javascript - Overlayer 表现为 Baselayer
问题描述
控制层有 4 个 Overlayers:layer1、layer2、layer3、layer4。我希望这些覆盖层充当基础层。这意味着其中一个图层已选中,而其他图层将自动取消选中。例如,当检查Layer1时,我想从Map Layer2,Layer3和Layer4及其传说中删除。下面的代码显示,只有当我放大和缩小时才会从地图中删除 layer2、layer3 和 layer4。我想在选中复选框时立即清除或删除图层。关于我如何实现这一目标的任何提示?
layer1.on('loading', function () {
$('#layer1')[0].textContent = 'myVar'
$('#legend-layer1')[0].setAttribute('style', 'visibility: show')
$('#legend-layer2')[0].setAttribute('style', 'visibility: hidden')
$('#legend-layer3')[0].setAttribute('style', 'visibility: hidden')
$('#legend-layer4')[0].setAttribute('style', 'visibility: hidden')
if (map.hasLayer(layer2) || map.hasLayer(layer3)|| map.hasLayer(layer4)) {
map.removeLayer(layer2)
map.removeLayer(layer3)
map.removeLayer(layer4)
};
});
解决方案
推荐阅读
- c# - 检查 IEnumerable
填满了不计入的可选词 - php - 自定义产品导出 PHP 脚本不起作用
- dart - 列出更改的侦听器
- c++ - 这是在 C++03 中执行“表达式 SFINAE”的有效方法吗?
- python - 安装和卸载 Python2 后出错
- python - Selenium 从帖子中获取评论
- mysql - Mysql:某些服务如果没有被其他服务或程序使用,会自动停止
- similarity - NameError:未定义名称“gensim”(doc2vec 相似性)
- javascript - javascript Selenium Web 驱动程序中 jQuery.active 的等价物
- javascript - 使用 fetch api 时如何明确告知 HTTP 协议版本?