Javascript 如何始终保持渲染的视口外传单多段线?
每当我在传单地图上移动视图时,其中心不再在视图中的多段线将被删除。我有一个大笔划尺寸(~500px)的多段线,即使部分笔划应该是可见的,也不可见。拖动地图时也会出现同样的问题,直到拖动结束,才会重新绘制多段线。示例如下所示 我已尝试为传单Javascript 如何始终保持渲染的视口外传单多段线?,javascript,svg,leaflet,polyline,Javascript,Svg,Leaflet,Polyline,每当我在传单地图上移动视图时,其中心不再在视图中的多段线将被删除。我有一个大笔划尺寸(~500px)的多段线,即使部分笔划应该是可见的,也不可见。拖动地图时也会出现同样的问题,直到拖动结束,才会重新绘制多段线。示例如下所示 我已尝试为传单remove事件添加一个侦听器,但没有触发。我还尝试覆盖多段线的onRemove方法,但没有成功。现在为了解决这个问题,我把地图做得比屏幕还大,但这会导致一些减速 我假设从地图中删除不可见的多段线是一种性能特性。有人知道这是否可以禁用吗 我需要设置L.Path
remove
事件添加一个侦听器,但没有触发。我还尝试覆盖多段线的onRemove
方法,但没有成功。现在为了解决这个问题,我把地图做得比屏幕还大,但这会导致一些减速
我假设从地图中删除不可见的多段线是一种性能特性。有人知道这是否可以禁用吗 我需要设置
L.Path.CLIP\u PADDING
通过查看github回购协议上的已解决问题找到
文件中还包括:
“在地图视图周围扩展剪辑区域的程度(相对于其大小,例如0.5是每个方向屏幕的一半)。较小的值意味着您将在拖动地图时看到路径的剪裁端,较大的值会降低绘图性能。”是的,正如您所说的多段线,geoJSON只会在收到“dragend”事件后重新绘制,因此即使在拖动过程中也必须重新绘制,我们可以通过编写以下代码轻松实现
map.on('drag', () => {
map.fitBounds(map.getBounds());
});
即使是L.Path.CLIP\u PADDING
也不适合我。但强行设定界限对我来说是有效的。
另外,请参见。将其称为功能真的很可爱,但这绝对不是SVG的“错误”,所以这是传单的错误?可能,通过推断(也可能是您的错误:-)