Leaflet 将minZoom与map.fitBounds一起使用时不会出现错误

Leaflet 将minZoom与map.fitBounds一起使用时不会出现错误,leaflet,mapbox,Leaflet,Mapbox,我有一张传单地图,我正试图使用map.fitbounds()绘制多个点,但我希望设置一个最小缩放,这样用户就不能一直缩放到超过9的缩放级别。我目前使用下面的方法向地图添加图钉,但有时当地图作为多个点时,地图需要在更大的缩放范围内调整边界,这会导致地图失败。当贴图fitbounds设置为高于9时,它工作正常,但低于9时不会打印 我想知道是否有人知道如何在某些情况下保护地图不因minZoom和fitBounds而失败,以及如何阻止用户将地图缩小到如此之远 map.options.minZoom =

我有一张传单地图,我正试图使用map.fitbounds()绘制多个点,但我希望设置一个最小缩放,这样用户就不能一直缩放到超过9的缩放级别。我目前使用下面的方法向地图添加图钉,但有时当地图作为多个点时,地图需要在更大的缩放范围内调整边界,这会导致地图失败。当贴图fitbounds设置为高于9时,它工作正常,但低于9时不会打印

我想知道是否有人知道如何在某些情况下保护地图不因minZoom和fitBounds而失败,以及如何阻止用户将地图缩小到如此之远

map.options.minZoom = 9;
map.options.maxZoom = 15;
var fg = L.featureGroup().addTo(map);
for ( var i=0; i < markersArray.length; ++i )
{
  var linkid = (markersArray[i]['linkid']);
  var linkurl = (markersArray[i]['linkurl']);
 L.marker( [markersArray[i].lat, markersArray[i].lng], {icon: myIcon} )
  .bindPopup( '<div id="mapPinDetails"><h3>' + markersArray[i].name + '</h3>' + markersArray[i].address + '<br /></div>' )
  .addTo(fg);
}
  map.fitBounds(fg.getBounds());
map.options.minZoom=9;
map.options.maxZoom=15;
var fg=L.featureGroup().addTo(map);
对于(变量i=0;i)
.addTo(fg);
}
fitBounds(fg.getBounds());
低于9时,它不会绘图

确实如此,但由于您不允许地图在9以下缩小,因此它将保持在缩放级别9,并且您可能看不到外部标记。但如果你平移,你可以看到它们。视图中心与使用较低的缩放时所获得的相同:

var map=L.map('map'{
minZoom:9,
最大缩放:15,
}).setView([48.86,2.35],11);
var fg=L.featureGroup().addTo(map);
L.标记([49,2.35])。添加到(fg);
L.标记([48.5,2.35])。添加到(fg);
fitBounds(fg.getBounds());
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
属性:“©;贡献者”
}).addTo(地图)

大声思考-也许您可以捕获
zoomstart
事件并动态操作
minZoom
,这样就可以从
fitBounds
调用而不是用户输入进行缩放。