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

我想实现的是填充边界。
例如:

map.getBounds(50)

应该将用户当前正在查看X2的区域带到该区域,或者可能将缩放级别降低一个区域..但不会打扰用户。

目前fitBounds (JSFiddle Demo Here)所做的或多或少只是导致更改用户 View 的原因:( ..我也尝试从自身的函数(fitBounds)获取界限,但它输出的是中心和缩放范围而不是界限(并且我没有成功得出结果从他们正确的界限)

最佳答案

您是否尝试过从pad获得的L.LatLngBounds上的 map.getBounds() method?它专门用于增加某些范围的大小。



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

var newBounds = map.getBounds().pad(1)

现在,如果您想将边界面积加倍(大约不考虑投影),则必须将每个轴的总长度增加sqrt(2),因此将每个方向的边界增加sqrt(2)/2:

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

10-05 18:37