我正在尝试创建缓存机制而不是整个地图.现在我使用:
getBounds()
并接收用户当前正在查看的区域中的所有点.
我想要实现的是填充边界.例如:
map.getBounds(50)
应该带来用户当前正在查看X2区域的界限..或者可能是一个缩放级别的较低区域..但不会打断用户.
目前fitBounds (JSFiddle Demo Here)或多或少只会导致更改用户的视图:( ..我也尝试从函数中获取边界(fitBounds)但它输出中心和缩放不是边界(和我没有成功从他们那里得到正确的界限)
你有没有尝试过的pad
方法对L.LatLngBounds
你得到map.getBounds()
?它专门用于增加某些边界的大小.
返回通过在每个方向上将当前边界扩展给定百分比而创建的更大边界.
例如,如果要在每个方向上增加1个视图端口的边界大小,则可以执行以下操作:
var newBounds = map.getBounds().pad(1)
现在,如果要将边界的面积加倍(大约不考虑投影),则必须将每个轴的总长度增加sqrt(2),从而将每个方向的边界增加sqrt(2)/2:
var doubleAreaBounds = map.getBounds().pad(Math.sqrt(2) / 2)