如何解决在 React Leaflet 中重新渲染 Canvas 上的多个多边形 Working codesandbox
我使用 React Leaflet 渲染 Leaflet 地图,使用 Leaflet.Path.Drag 将多个多边形拖到一起。这是一个 demo。
我有很多多边形,想用 preferCanvas 选项拖动多个多边形。如果我尝试使用 preferCanvas
拖动多个多边形,它不起作用。拖动会使 Canvas 上出现重复的多边形,并且在拖动过程中多边形不可见。
解决方法
所以我有点作弊才能让它工作。我注意到当你拖动你的形状时,旧的多边形不会清除,除非你通过平移或缩放来重置地图视图。因此,在拖动事件结束时,您只需将地图视图设置为原来的样子,它就会为您清除旧形状:
layer.on("dragend",function (e) {
setTransform({ matrix: layer.dragging._matrix,end: true });
const map = layer._map;
map.setView(map.getCenter());
});
Working codesandbox
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。