Leaflet 有衬垫的小叶

Leaflet 有衬垫的小叶,leaflet,Leaflet,我正在尝试创建缓存机制,而不是带来整个地图。 现在我使用: getBounds()并接收用户当前查看区域中的所有点 我想要达到的是填补边界。 例如: map.getBounds(50) 应将用户当前正在查看的范围带到该区域。。或者可能是一个缩放级别较低的区域。。但不会打断用户 目前,fitBounds或多或少会改变用户的视图:(…我也尝试从函数本身获取边界(fitBounds),但它输出的是中心和缩放而不是边界(我没有成功地从它们中获得正确的边界)您在map.getBounds()中获得的L.

我正在尝试创建缓存机制,而不是带来整个地图。 现在我使用:
getBounds()
并接收用户当前查看区域中的所有点

我想要达到的是填补边界。 例如:

map.getBounds(50)
应将用户当前正在查看的范围带到该区域。。或者可能是一个缩放级别较低的区域。。但不会打断用户

目前,fitBounds或多或少会改变用户的视图:(…我也尝试从函数本身获取边界(fitBounds),但它输出的是中心和缩放而不是边界(我没有成功地从它们中获得正确的边界)

您在
map.getBounds()
中获得的
L.LatLngBounds
上尝试了吗?它专门用于增加某些边界的大小

返回通过将当前边界在每个方向上扩展给定百分比而创建的较大边界

例如,如果要将边界的大小在每个方向上增加1个视口,可以执行以下操作:

var newBounds=map.getBounds().pad(1)
现在,如果要将边界面积增加一倍(近似,不考虑投影),则必须将每个轴上的总长度增加sqrt(2),从而将每个方向上的边界增加sqrt(2)/2:

var doubleAreaBounds=map.getBounds().pad(Math.sqrt(2)/2)

太棒了!我完全错过了,非常感谢!