我有一个问题,当leaflet geoman移除例如多边形上的顶点时,我无法恢复对象的latLngs。
我在做什么:在object上单击-> object.getLatLngs()。工作正常。
如果我开始编辑对象,然后使用object.setLatLngs(ObjectClickLatLngs),它就能正常工作。
但问题是:单击object -> start editing ->右键单击顶点(要删除顶点) -> object.setLatLngs(ObjectclickLatLngs)。现在,顶点将被删除,并且不会恢复为以前的latLngs。
尝试单击多边形,更改顶点,然后单击“将对象恢复到初始位置”(按预期工作),然后单击多边形,但在不移动顶点的情况下右键单击顶点(要删除),然后单击“将对象恢复到初始位置”(现在对象不在应该处于的状态,期望它恢复到初始位置)
发布于 2020-12-02 21:03:05
问题是JavaScript将变量引用到源,所以当层的延迟发生变化时,restoreLatLngs也会更新。
你可以用下面的代码“销毁”引用:
restoreLatLngs = JSON.parse(JSON.stringify(x.target.getLatLngs()));https://stackoverflow.com/questions/65107084
复制相似问题