Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何始终保持渲染的视口外传单多段线?_Javascript_Svg_Leaflet_Polyline - Fatal编程技术网

Javascript 如何始终保持渲染的视口外传单多段线?

Javascript 如何始终保持渲染的视口外传单多段线?,javascript,svg,leaflet,polyline,Javascript,Svg,Leaflet,Polyline,每当我在传单地图上移动视图时,其中心不再在视图中的多段线将被删除。我有一个大笔划尺寸(~500px)的多段线,即使部分笔划应该是可见的,也不可见。拖动地图时也会出现同样的问题,直到拖动结束,才会重新绘制多段线。示例如下所示 我已尝试为传单remove事件添加一个侦听器,但没有触发。我还尝试覆盖多段线的onRemove方法,但没有成功。现在为了解决这个问题,我把地图做得比屏幕还大,但这会导致一些减速 我假设从地图中删除不可见的多段线是一种性能特性。有人知道这是否可以禁用吗 我需要设置L.Path

每当我在传单地图上移动视图时,其中心不再在视图中的多段线将被删除。我有一个大笔划尺寸(~500px)的多段线,即使部分笔划应该是可见的,也不可见。拖动地图时也会出现同样的问题,直到拖动结束,才会重新绘制多段线。示例如下所示

我已尝试为传单
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的“错误”,所以这是传单的错误?可能,通过推断(也可能是您的错误:-)