Leaflet 传单上有填充物吗?
我试图在传单地图中设置fitBounds选项,如下所示:Leaflet 传单上有填充物吗?,leaflet,Leaflet,我试图在传单地图中设置fitBounds选项,如下所示: var bounds = new L.LatLngBounds([[Math.max(lat, borneLat), Math.max(lng, borneLng)], [Math.min(lat, borneLat), Math.min(lng, borneLng)]]); map.fitBounds(bounds, { padding: [20, 20] }); 然而,这似乎没有添加任何填充?至少地图“缩放级别”不会改变,并且它始终
var bounds = new L.LatLngBounds([[Math.max(lat, borneLat), Math.max(lng, borneLng)], [Math.min(lat, borneLat), Math.min(lng, borneLng)]]);
map.fitBounds(bounds, { padding: [20, 20] });
然而,这似乎没有添加任何填充?至少地图“缩放级别”不会改变,并且它始终显示边缘中的两个点(即,一个点位于最右上方,另一个点位于最左下方)。对于一些标记集,它可以正常工作,缩放是在一个体面的水平,你可以看到一切都很好。然而,当项目彼此非常接近时,它似乎放大了一点太多,除非我可以用一些“填充”来填充它
我也不确定边界是否会像那样正确?我是否应该只使用:
var bounds = [[Math.max(lat, borneLat), Math.max(lng, borneLng)], [Math.min(lat, borneLat), Math.min(lng, borneLng)]];
map.fitBounds(边界,{padding:[]})
应该可以工作。我建议您将填充改为例如,[50,50]
,可能您的填充值太小了
看看这个。我遇到了这个问题。据我所知,填充是由缩放控制的。在我的示例中,10以下的所有填充设置都没有区别。当填充变为10时,地图将缩小一级,并有填充。进一步增加填充值不会产生任何影响,直到填充值太大,达到另一个缩小级别。FWI,您也可以将最大缩放级别设置为贴图,如下所示:
var map = L.mapbox.map('map', 'mapbox.emerald', {
maxZoom: 16
});
这样,如果标记太接近,可以避免地图放大过多。默认情况下,传单仅在整数值缩放级别之间缩放。旧版本1.0.0“分数缩放”可通过“zoomSnap”参数获得:
var map = L.map('map', {
zoomSnap: 0.1
});
这将允许更小的填充值可见,但也会影响scrollWheelZoom行为。在JSFIDLE上,[50,50]的填充效果很好,但在我的站点上似乎仍然显示相同的缩放级别,将尝试将其提高得更高(当右上角和左下角有一个点彼此相距很远时)嗯,似乎我运行的是一个更旧版本的传单,所以我更新了它,现在效果很好。使用[50,50]填充设置。非常感谢!我也有同样的经验。我们做错了什么?是zoomSnap!我发布了一个答案