0

我很难澄清这个帖子......

我正在使用以下插件扩展传单地图:

  • Leaflet.MarkerCluster
  • Leaflet.MarkerCluster.LayerSupport

我的页面有一个标题 div 和一个地图 div。标头包含一个 HTML 5 表单,它传递 GET 变量、重新加载页面,并执行一个 SQL Server 查询来检索我的引脚/集群。

每次提交表单时,页面都会重新加载,并重新检查 Leaflet.MarkerCluster.LayerSupport 插件的可见层(参见链接图片中的红色矩形)。

本质上,当页面刷新时,红色矩形中的复选框总是被选中,但我希望它们以与单击表单的提交按钮时相同的状态加载。

我的地图

有什么方法可以轻松存储 cookie 或传递变量来保存检查(可见)哪些图层并在重新加载页面时以该状态加载它们?图层控件主要是插件生成的,不是我自己的代码。

控制代码

非常感谢,

缺口

4

1 回答 1

0

如果您使用标准 Leaflet Layers Control,它会监控添加到地图或从地图中删除的图层,并相应地勾选/取消勾选复选框。

因此,只需正确重新添加(或者在您的情况下,添加)用户之前未选中的层。

至于检索哪些图层未选中/从地图中删除,由您选择实现。由于您已经提交了一个 HTML 表单,您可以很好地发送一些额外的值来告诉那些已删除的层,然后在新页面中将它们发送回客户端。

更现代的方法将避免刷新页面并使用 AJAX 方案。

但是,查看您的屏幕截图,您可能没有使用标准的图层控制。在这种情况下,这将取决于该控件的实际工作方式。

于 2017-11-02T16:58:38.743 回答