gpt4 book ai didi

javascript - 根据 map 的缩放级别和点击显示多边形图层

转载 作者:行者123 更新时间:2023-11-28 19:26:56 25 4
gpt4 key购买 nike

所以我有一个 OpenStreetMap map (带有 Leaflet),我放了一个欧洲 javascript 层(我在 javascript 中插入了 Id 以区分每个国家)。当我用鼠标悬停在每个国家/地区上时,每个国家/地区都会突出显示。当我点击一个国家时,它会自动放大它。

而且我希望,当我点击国家时,国家的图层消失(根据缩放级别)(但其他国家必须保持“分层”)。(知道之后,我将尝试在一个国家上放置标记,该标记仅在国家图层消失时才会显示,并且我们可以通过单击它来放大它)。

Ps: 我关注这个网站是为了做我此刻的事情: https://leafletjs.com/examples/choropleth/

还有我的代码: https://jsfiddle.net/Gio687351/3bwsnu8z/2/

map.on('zoomend ', function(e) {
if (map.getZoom() < 3) {
map.fitBounds(layer.getBounds())
map.removeLayer(Europe-Layer.js)
map.setStyle({
'fillOpacity': '0.7'
});
} else if (map.getZoom() >= 3) {
map.fitBounds(layer.getBounds())
map.addLayer(statesData);
map.setStyle({
'fillOpacity': '0.0'
});
}
});

最佳答案

图层可见性可以通过fill-opacityopacity 来管理style properties如下所示:

function toggleLayerVisibility(map, layer) {
if (selectedLayerId) {
geojson.resetStyle(layer);
selectedLayerId = null;
} else {
//hide a layer
layer.setStyle({
opacity: 0,
fillOpacity: 0.0
});
selectedLayerId = layer._leaflet_id; //save identifier of a selected layer
}
}

解释:

  • 设置opacity: 0fillOpacity: 0 隐藏图层
  • selectedLayerId 用于存放当前选中层的标识

鉴于提供的示例,following demo演示如何隐藏单击的图层

关于javascript - 根据 map 的缩放级别和点击显示多边形图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55968829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com