我已经创建了一些地图,现在我想使用传单和地理服务器发布它们.一切都工作正常,我可以使用图层控件更改图层,但我想使用我自己的按钮.问题是我无法弄清楚如何.我创建了所有按钮,我只想创建一个函数,在点击时将wms图块层添加到地图中
任何帮助将不胜感激.这是我到目前为止尝试但它不起作用:
function appear(){
var floodToday = L.tileLayer.wms("http://localhost:8080/geoserver/wms", {
layers: 'FloodlayerWMS',
format:'image/png',
version: '1.1.1',
transparent: true
})
map.addLayer(floodToday);
}
$(".WToday").on("click",appear);
我已经找到了这个答案:Hide/Show layerGroups in Leaflet with own Buttons但它没有证明有用.我猜我的问题与wms tile层的使用有关,但我不知道如何绕过它.
UPDATE
@HudsonPH的回答对我来说有点复杂,因为我几乎不了解Javascript和JQuery,但是在稍微调整代码并尝试不同的选项后,这对我有用:
$("#WToday").click(function(event) {
var floodToday = L.tileLayer.wms("http://localhost:8080/geoserver/wms", {
layers: 'FloodlayerWMS',
format:'image/png',
version: '1.1.1',
transparent: true
})
map.addLayer(floodToday);
});
谢谢大家试图帮助我.
最佳答案 您可以使用trim来比较名称并触发事件.
Obs:我使用data-attribute来获取值
$("[name='leaflet-base-layers']").parent().each(function (index) {
$layerControl = $(this);
if ($that.attr("Your-Date-Attribute").trim() == $layerControl.find("span").text().trim()) {
$(this).find("input").trigger("click");
}
});