Javascript 传单缩放贴图层
我正在寻找的功能,使我能够损失的一部分图层时,缩放地图Javascript 传单缩放贴图层,javascript,leaflet,Javascript,Leaflet,我正在寻找的功能,使我能够损失的一部分图层时,缩放地图 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)};
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 bulid:
var road = {
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "properties": { "density" : "road_1"....
{ "type": "Feature", "properties": { "density" : "road_2"....
{ "type": "Feature", "properties": ....
我不确定我是否理解你的意思,但你想在放大时删除一个图层,在缩小时添加它吗
You just can use:
if(map.getZoom()<11){
mylayer.removeFrom(map);
}else{
mylayer.addTo(map);
}
您只需使用:
如果(map.getZoom()更新:
这种方式有前途吗?必须改进什么
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',
};
}
}
功能样式\u道路(功能){
如果(“道路1”==特征.属性.密度){
返回{
体重:3,
不透明度:函数()
{如果(缩放>13){不透明度:0},
else(缩放<13){不透明度:1},
},
颜色:“红色”,
};
}
否则,如果(“道路2”==特征.属性.密度){
返回{
重量:1.5,
不透明度:1,
颜色:“红色”,
};
}
否则{
返回{
重量:0.5,
不透明度:1,
颜色:“红色”,
};
}
}
您理解得很好,但是该层被放置在文件GeoJSON中。我想关闭该文件的部分,例如,在高缩放时看不到的一些多边形。然后创建L.LayerGroup
s,使用要从地图中添加/删除的传单层组,将各个层添加到这些组中(可能通过L.GeoJSON
的eachLayer
),然后根据需要添加/删除这些组。
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});
}
});
}
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',
};
}
}