我知道如何添加带标记的图层,我可以打开/关闭图层以及如何将GeoJSON
图层添加到地图中。
但我无法混合这些功能。
我需要创建一个toggling layer from GeoJSON
(折线图层)。
是否有可能获得我需要的 而无需任何外部插件或脚本 ?
答案 0 :(得分:3)
GeoJSON图层和标记可以毫无问题地一起使用。
为了能够切换图层,您需要从可以点击的内容中捕获某种点击事件,例如按钮。 根据我的研究,我发现如果你需要一个自定义按钮,它自己实现起来并不是那么快,所以你可能需要使用一个可用的插件。
如果你仍然不想构建按钮或使用插件,你可以在地图上设置一个点击事件,它可以打开和关闭GeoJSON图层。
我从传单网站上获取了GeoJSON示例并对其进行了更改,以便打开和关闭GeoJSON图层:
var geoLayer = L.geoJson([
// ...
]);
map.on('click', function() {
if(map.hasLayer(geoLayer)) {
map.removeLayer(geoLayer);
} else {
map.addLayer(geoLayer);
}
});
希望有所帮助..
修改强> 我更改了示例以使用leaflet.js的图层控件 哪个更好......
var baseLayers = {
"Markers": markerLayer,
"GeoJSON": geoLayer
};
L.control.layers(baseLayers).addTo(map);
不知道这件事;)
如果您想要复选框而不是radiobuttons,请改用
L.control.layers(null, baseLayers).addTo(map);