自定义图层控制与传单
问题描述:
我想用传单做一个自定义图层控件,但我不知道它为什么不起作用。当我点击复选框时,在Firebug中出现以下错误:TypeError: obj is undefined
。我将此代码添加到我main.js脚本:自定义图层控制与传单
// Custom layerpanel -- WORK IN PROGRESS!
$("input").click(function(event) {
layerClicked = window[event.target.value];
if (map.hasLayer(layerClicked)) {
map.removeLayer(layerClicked);
}
else{
map.addLayer(layerClicked);
} ;
});
,这对我的索引文件:
<div class="checkbox">
<label><input type="checkbox" value="mapDataLayer" checked>
Option 1</label>
</div>
答
变量通过var myVarName
设置并不像window
对象(window[event.target.value]
)的性质进行访问。你必须分配你的层以类似的方式:window["mapDataLayer"] = L.geoJson(...)
注:
- 你GeoJSON的层0功能,所以你不会看到任何新的东西。
- 您的复选框最初被选中,但图层不在地图上。因此,当取消选中该复选框时,图层将添加到地图上,反之亦然。
我做了你所建议的改变,它的工作原理。唯一的一点是,当我进行高级搜索时,我必须双击teh提交按钮才能再次使用图层控制。 –
Ghybs管理员删除了重击者。感谢您的帮助。 –