传单layerGroup控件
Leaflet layerGroup controls
我有一系列由一系列GeoJSON层组成的传单功能组。FeatureGroups在概念上是相似的,但出于某些控制原因,我需要将它们分开。我还需要能够同时打开和关闭它们。有办法做到这一点吗?
我看了文档,找不到当FeatureGroup打开和关闭时触发的事件。也没有文档说明如何将FeatureGroups集中到某种superGroup中。
对于那些想要想象它的人来说,这里是工作流程:
GeoJSON获取在传单中转换成层的数据。这是不同的行政边界(如州、县等)。每个层根据其类型进入不同的FeatureGroup(例如,阿肯色州和纽约州进入州FeatureGroup,福特县和林肯县进入县FeatureGroup)。这样我就可以控制不同特征组的不透明度和样式(例如,当我查看一个州的县时,我可以降低所有其他州的不透明度)。我还需要一种方法来关闭和重新打开这一切。传单提供了一个功能组一个功能组的能力,但不是一个超级集。
对如何实现这一点有什么想法吗?
问题的新版本:
打开和关闭LayerGroup时触发的事件是什么?有什么办法可以钩住它吗?
我最终得到了我通常的LayerGroups或FeatureGroups,然后是一个包含所有组上所有图层的FeatureGroup。所以当你添加一个形状或图层到一个FeatureGroup时,也要将它添加到你用来跟踪所有内容的FeatureGroup。当然,如果你要移除,别忘了移除它。您可以将这个基本的FeatureGroup与其他组一起添加到映射中,应该没问题。
我不认为传单目前提供一个事件,当一个LayerGroup是打开或关闭(你正在谈论与L.Control,对吗?)我同意这是有用的。现在,您可以扩展代码来完成任何需要完成的任务。例如:
var customLayerControl = L.Control.Layer.extend({
_onInputClick: function(Layer, name){
// This is just like calling super() if this confuses you!
L.Control.Layers.prototype._onInputClick.call(this,Layer,name);
// Do stuff
}
});
然后不使用l控件。图层,使用自定义图层控件:
map.addControl(new customLayerControl({}, {'Custom Layer':customLayer},{}));
我希望这对你有帮助。
- 音频控件在mouseover上显示,在mouseout上淡出
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- 如何更改文本框控件的不透明度值
- 所有控件的组合框
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 在angularjs中创建自定义控件的推荐方法
- 自定义控件中的双向绑定在SAPUI5中不起作用
- 如何在ASP中为用户控件添加Javascript对象网
- Dynamics 2016内部部署Crm客户端脚本.选项集控件类型缺少方法
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- 在HTML5画布上添加按钮和控件
- 隐藏HTML5视频控件
- 向ASP控件添加自定义事件
- 从IE中的不同元素调用时,文件输入控件未正确启动
- 当用户点击音频控件时,无法接收点击事件
- 在codeigniter中具有控件的looper.js
- 传单layerGroup控件