javascript - 一个一个地从多边形中删除所有点
问题描述
我正在创建一个在绘图时从 openlayers 多边形中删除点的功能。所以有我的“配置”:
source = new ol.source.Vector({
wrapX: false,
});
raster = new ol.layer.Tile({
source: new ol.source.OSM()
});
vector = new ol.layer.Vector({
source: source,
style: new ol.style.Style(/* some config */)
});
view = new ol.View({
center: defaultLonLatFormat,
zoom: 12
});
mapx = new ol.Map({
layers: [raster, vector],
target: 'target',
view: view
});
用于开始绘图的代码:
draw = new ol.interaction.Draw({
source: source,
type: 'Polygon',
});
mapx.addInteraction(draw);
用于删除最后一点的代码:
draw.removeLastPoint();
draw.changed();
在多边形打开之前,一切都像魅力一样 - 直到我将最后一个点与第一个点连接起来。之后删除最后一点没有任何意义。幸运的是,我可以删除点alt + click
- 它可以工作,直到剩下 3 个点,这使得最小的闭合多边形 - 三角形。然后即使alt + click
组合也不起作用。我什至在OpenLayers 示例上尝试过这个——同样的行为。所以我有三个问题:
关闭多边形后会发生什么,所以我不能用 删除点
draw.removeLastPoint()
?为什么我无法从多边形中删除最后三个点?
任何想法如何实现这样的功能?
解决方案
推荐阅读
- c# - Bot Framework v4 中的等待方法
- python - 如何将结果转换为变量,然后从 .accdb 文件中调用数据?
- angular - 角度 8 中的自动图像滑块(自定义和简单:2019 年 12 月)
- capacitor - 电容器:检查文件是否存在
- regex - 正则表达式后视对竖线 ( | ) 无效,但正则表达式前瞻在 Notepad++ 中工作得很好
- android - java.lang.NullPointerException on clearAnimation()
- python - 在 ResNet50 上训练时出错:4 维权重 [64, 3, 7, 7] 的预期 4 维输入,但输入的大小为 [8, 196608]
- php - 将 confact 7 表单值传递给另一个联系人 7 表单
- javascript - 如何快速闪烁文本或简单地在 html 中更快地替换文本(我的代码如下)
- android - Updating profiles of android management API