根据地图的缩放级别和点击显示多边形图层
Display Polygons Layers according to zoom level of the map and clicks
所以我有一个 OpenStreetMap 地图(带有 Leaflet),我放了一个欧洲 javascript 层(我在 javascript 中插入了 Id 以区分每个国家)。当我用鼠标悬停在每个国家/地区上时,每个国家/地区都会突出显示。当我点击一个国家时,它会自动放大它。
而且我希望,当我点击国家时,国家的图层消失(根据缩放级别)(但其他国家必须保留 "layered"。(知道,在那之后,我会尝试在一个国家上放置标记,只有当国家层消失时才会显示,我们可以通过点击它来放大它。
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-opacity
和 opacity
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: 0
和fillOpacity: 0
隐藏图层
selectedLayerId
用于存放当前选中层的标识
根据提供的示例,following demo 演示了如何隐藏单击的层
所以我有一个 OpenStreetMap 地图(带有 Leaflet),我放了一个欧洲 javascript 层(我在 javascript 中插入了 Id 以区分每个国家)。当我用鼠标悬停在每个国家/地区上时,每个国家/地区都会突出显示。当我点击一个国家时,它会自动放大它。
而且我希望,当我点击国家时,国家的图层消失(根据缩放级别)(但其他国家必须保留 "layered"。(知道,在那之后,我会尝试在一个国家上放置标记,只有当国家层消失时才会显示,我们可以通过点击它来放大它。
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-opacity
和 opacity
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: 0
和fillOpacity: 0
隐藏图层 selectedLayerId
用于存放当前选中层的标识
根据提供的示例,following demo 演示了如何隐藏单击的层