javascript - 如何始终远离视口(viewport)传单折线?

标签 javascript svg leaflet polyline

每当我在我的传单 map 上移动 View 时,中心不再在 View 中的多段线将被删除。我有一条笔划大小较大 (~500px) 的折线,即使它的一部分应该是不可见的。拖动 map 时也可以观察到同样的问题,在拖动结束之前不会重新绘制多段线。示例如下所示。

The left part of the polylines is not drawn until the drag ends

我已经尝试为传单 remove 事件添加一个监听器,但这并没有触发。我还尝试重写折线的 onRemove 方法,但这没有用。现在为了解决这个问题,我将 map 设置得比屏幕大,但这会导致速度变慢。

我认为从 map 中删除不可见的多段线是一项性能功能。有谁知道这是否可以禁用?

最佳答案

是的,正如你所说的折线,geoJSON 只会在收到“dragend”事件后重绘,所以即使在拖动过程中我们也必须重绘,我们可以通过编写以下代码轻松实现

map.on('drag', () => {
  map.fitBounds(map.getBounds());
});

甚至 L.Path.CLIP_PADDING 都不适合我。但有力地设定界限对我有用。 另请参阅 demo here .

关于javascript - 如何始终远离视口(viewport)传单折线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31327065/

相关文章:

javascript - Access-Control-Allow-Origin 不允许“ip”

javascript - 按钮标签 jQuery DataTable

javascript - 如何在 Leaflet map 中显示 ArcGIS Server TileLayer

javascript - jquery淡入淡出问题

javascript - 循环内的 Http 请求

javascript - 为什么要将 D3 源代码复制到 Angular 服务中?

CSS3 圆环图

javascript - 模拟鼠标滚动事件

javascript - 传单地理编码器和可拖动标记在输入字段中显示结果

javascript - 传单在多边形中绘制点并添加到可编辑图层