传单缩放地图层
Leaflet Zoom Map Layer
我正在寻找功能,使我能够在缩放地图时丢失部分图层。
map.on('zoomend', onZoomend)
function onZoomend(feature){
if(map.getZoom()<11)
{map.addLayer("road_2"==feature.properties.density)};
if(map.getZoom()>11)
{map.removeLayer("road_2"==feature.properties.density)};
}
我的GeoJson文件在面板图层中:
var overLayers = [
{
group: "Layer",
collapsed: true,
layers: [
{
name: "Road",
icon: iconByName('fuel_road'),
layer: L.geoJson(road,{style: style_road})
},
File GeoJson build that:
var road = {
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "properties": { "density" : "road_1"....
{ "type": "Feature", "properties": { "density" : "road_2"....
{ "type": "Feature", "properties": ....
更新:
这样有前途吗?有什么需要改进的?
function style_road(feature) {
if ("road_1" == feature.properties.density) {
return {
weight: 3,
opacity:function()
{if (zoom > 13) {opacity:0},
else (zoom < 13) {opacity:1},
},
color: 'red',
};
}
else if ("road_2" == feature.properties.density){
return {
weight: 1.5,
opacity: 1,
color: 'red',
};
}
else {
return {
weight: 0.5,
opacity: 1,
color: 'red',
};
}
}
我不确定我是否理解你的正确,但是你想在放大时删除一个图层并在缩小时添加它?
You just can use:
if(map.getZoom()<11){
mylayer.removeFrom(map);
}else{
mylayer.addTo(map);
}
我理解对了吗?
更新:你可以遍历GeoJson层并将fillOpacity设置为0来隐藏一些几何体:
var geoJsonLayer = L.geoJson(myGeoJson).addTo(map);
if(map.getZoom()<11){
geoJsonLayer.eachLayer(function(layer) {
if(layer.feature.properties.density == "road_"){
layer.setStyle({fillOpacity:0});
}
});
}
相关文章:
- 谷歌地图热图图层点半径
- 谷歌地图-更改图层图标大小
- 开放图层导出为 KML 并保留我的地图样式
- 如何在添加新标记和图层之前清除所有标记和图层的传单地图
- 在谷歌地图HTML中简单地添加KML图层
- OpenLayers:自动将 EPSG 4326 - 文本图层的坐标转换为地图的投影 (EPSG:900913)
- 如何重新加载谷歌地图图层
- 清除谷歌地图图层时遇到问题
- 如何在谷歌地图中显示和忽略KML图层
- 嵌入融合表图层向导地图
- 当基础图层的分辨率不同时,是否可以在基础图层上叠加地图
- 如何使地图适合传单中的切片图层边界
- 获取类型将图层添加到地图后出错
- 如何在相位器中的地图图层上获取平铺类型
- KML 图层将无法正确切换,谷歌地图
- 谷歌地图 API - 融合表图层示例 - 地图未显示
- 将 DIV 插入 Google 地图图层
- 如何初始化谷歌地图图层
- 三个js -谷歌地图图层选择
- 如何使用传单在地图图层中设置不同的缩放级别