小册子:切换GeoJSON层与复选框
Leaflet: Toggle GeoJSON layers with Checkboxes
我希望能够使用复选框来切换地图上的图层。该地图将不加载任何图层。
现在我的按钮是这样的:
<label><input type="checkbox" name="points" value="addressPoints" /> ADDRESS POINTS</label>
我像这样调用我的GeoJSON层:
L.geoJson(schoolDistricts, {
style: defaultStyle,
onEachFeature: function (feature, layer) {
layer.bindPopup("<h4>School District: " + feature.properties.name);
layer.setStyle(defaultStyle);
(function(layer, properties) {
layer.on("mouseover", function (e) {
layer.setStyle(highlightStyle);
});
layer.on("mouseout", function (e) {
layer.setStyle(defaultStyle);
});
})(layer, feature.properties.name);
}});
我知道我需要在复选框代码中添加一个更改事件。我只是真的不知道如何写一个函数来切换图层的打开和关闭。我有大约10个图层,我需要这样做,所以我希望能够有一个函数,我可以使用所有的
希望这是足够的信息。
谢谢!
传单通过覆盖对象将此功能内置到图层控件中。层控件可以接受一个基图对象和一个覆盖对象的输入。基图用单选按钮切换,叠加用复选框切换。下面是一个简单的例子:
var basemapObj = {
"First Basemap": L.tileLayer(...),
"Second Basemap": L.tileLayer(...)
}
var overlayObj = {
"LayerA": L.geoJson(...),
"LayerB": L.geoJson(...)
}
L.control.layers(basemapObj, overlayObj).addTo(map);
上面注释中列出的链接与内置控件的功能相同,但需要您自己编写代码并为元素设置样式等。使用基本的传单控件简单得多。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 使用$.ajax发布多个复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- 使用jquery选中/取消选中单个复选框
- Angular JS Filter-通过3个复选框进行筛选
- 如果选中了多个复选框,如何添加事件
- Javascript复选框函数:;缺少:在属性id之后"
- JavaScript-切换“;全部检查”;复选框true/false
- 如何从javascript/jquery中的复选框中获取布尔值
- 在Ajax中捕获复选框值
- 显示隐藏复选框
- 如何使用javascript函数在gridview中按行启用/禁用复选框
- 小册子:切换GeoJSON层与复选框