地图和图层切换器之间的同步问题

问题描述 投票:0回答:1

在我的测试页面https://visiolittoral.fr/ANDROID_CARTE_IGN_2024_5.php?UNIK_COMMUNE=93105&LONGITUDE=-1.32&LATITUDE=46.15&ZOOM=12我使用了几个LeafLet功能。

其中包括显示 geoJson 数据的能力(第 162 至 275 行)。

原理是显示来自三个返回相同geoJson结构的URL的geoJson数据。

根据需要,可以选择图层在地图上显示还是隐藏,但在这两种情况下,它都必须包含在图层切换器中。 (第 269 至 275 行)。

在当前版本的代码中,我从所有图层的 addTo(map) 开始,在图层切换器中添加,然后,如果需要,我从地图中删除图层。我只是尝试不为visible=false执行addTo,但这并没有改变我现在向你解释的问题。

在第一次显示时,geoJson数据visible=true(公社和邻近公社)正确显示。要显示另一个visible=false(GPS),理论上你必须打开LayerSwitcher,取消选中“眼睛”才能显示地图。

这就是问题所在!

在第一次显示时,“GPS”的“眼睛”在layerSwitcher中打开,这意味着该图层显示在地图上,当然情况并非如此。

要找到地图和图层切换器之间的完美同步,您必须在“眼睛”上单击两次,一次将其关闭,一次将其打开。

好了,既然你不知道该做什么,我就给你找点事做!

亲切的问候

帕斯卡

第一阶段 enter image description here

第二阶段 enter image description here

第三阶段 enter image description here

leaflet layer
1个回答
0
投票

Edwin 在 https://groups.google.com/g/leaflet-js/c/12gFXqjaPKY 找到了解决方案。 您必须使用layerSwitcher.setVisibility(geoJsonLayer, false)强制添加layerSwitcher的图层状态 测试页已更新。 A+ 帕斯卡

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.