Javascript 缩放时传单自动重置图层

Javascript 缩放时传单自动重置图层,javascript,leaflet,zooming,arcgis,reset,Javascript,Leaflet,Zooming,Arcgis,Reset,我目前正在使用传单创建地图,遇到了一种特殊情况,在运行查询功能、放大然后缩小后,我的地图图层会重置: 在放大查询并将其缩小后,它会重置自身: 在用户缩小到初始比例6之后,地图似乎正在自行重置。它本质上重置了查询,我不确定问题在代码中的何处。在一个完美的世界中,被查询的层保持被查询状态,直到用户刷新页面或更改查询本身 完整的JS、CSS和HTML: //主地图基本层 var street=L.layerGroup(); L.esri.basemapLayer(“街道”).addTo(街道);

我目前正在使用传单创建地图,遇到了一种特殊情况,在运行查询功能、放大然后缩小后,我的地图图层会重置:

在放大查询并将其缩小后,它会重置自身:

在用户缩小到初始比例6之后,地图似乎正在自行重置。它本质上重置了查询,我不确定问题在代码中的何处。在一个完美的世界中,被查询的层保持被查询状态,直到用户刷新页面或更改查询本身

完整的JS、CSS和HTML:

//主地图基本层
var street=L.layerGroup();
L.esri.basemapLayer(“街道”).addTo(街道);
//建立基层
var baseLayers={
街道地图:街道,
地理:L.esri.basemapLayer(“国家地理”),
灰色:L.esri.basemapLayer(“灰色”)
};
//从ArcGIS Online、弹出窗口和查询中调用粮食安全多边形
var foodInsecurity=L.esri.featureLayer({
网址:'https://services.arcgis.com/HRPe58bUyBqyyiCt/arcgis/rest/services/Yemen_Final_WFL1/FeatureServer/4',
风格:功能(特征){
如果(feature.properties.ML2==2){
返回{颜色:'yellow',重量:2};
}else if(feature.properties.ML2==3){
返回{颜色:'橙色',重量:2};
}else if(feature.properties.ML2==4){
返回{颜色:'红色',重量:2};
}否则{
返回{颜色:灰色,重量:2}
} 
}
});
//创建和设置地图的基本控件
var map=L.map('map'{
动物控制:对,
中间:[15.8527,47.5164],
缩放:6,
minZoom:6,
最大缩放:15,
层:[街道,食品安全]
});
//创建主覆盖要素
变量覆盖={
“粮食不安全”:粮食安全,
};
//绑定一个弹出窗口以解决食品安全问题
bindPopup(函数(层){
返回L.Util.template(“在5个

”,layer.feature.properties中,该地区的粮食不安全程度为{ML2}”); }); //按特定值查询食品不安全(index.html页面) var unsecurityfood=document.getElementById('unsecurity'); UnsecurityFood.addEventListener('change',function(){ 食品安全.setWhere(不安全食品.价值); }); L.控制层(基本层、覆盖层)。添加到(地图)
body{margin:0;padding:0;溢出:hidden;}
#地图{
身高:100%;
长方体阴影:0 10px rgba(0,0,0,0.5);}
#问题3{
位置:相对位置;
底部:85.5vh;
右:-6vh;
右:-2.8vw;
z指数:400;
背景:白色;
右侧填充:1vh;
垫顶:1vh;
左侧填充:1vh;
垫底:1vh;
显示:内联;
字号:2vh;
字体大小:1vw;
宽度:14vw;
高度:4vh;
}
#查询3选择{
字号:2vh;
字体大小:1vw;
宽度:11vh;
宽度:6vw;
高度:3vh;
高度:1.7vw;
}
#查询3选择:悬停{
背景色:#ddd;
}

粮食不安全:
全部的
强调
紧急情况
危机

我复制了您的代码,它对我有效:是否有其他地方的代码?当我查看您的示例时,仍然会发生这种情况。选择一个查询,然后尝试放大real far,然后缩小。它完全按照以前的方式重置图层。因为css,我没有看到查询。我发现当你放大到初始缩放时,这种情况总是会发生。更改init zoom时,可以测试它:
L.map('map',{…zoom:8,…}
关于如何确保它返回初始缩放后停止重置自己的想法?或者关于如何让用户无法跳过初始缩放的想法?我复制了您的代码,它对我有效:有其他地方的代码吗?当我查看您的示例时,仍然会发生这种情况。选择一个查询,然后尝试放大真实的far,然后缩小。它完全按照以前的方式重置图层。由于css的原因,我没有看到查询。我发现当你缩小到初始缩放时,总是会发生这种情况。当你更改初始缩放时,你可以测试它:
L.map('map',{…zoom:8,…}
关于如何确保返回初始缩放时停止重置自身的想法?或者关于如何使用户无法跳过初始缩放的想法?