作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,我有一个由两个多边形组成的多边形。我可以使用 modifyFeature 控件和删除键删除顶点。但是,modifyFeature 控件不允许我完全删除多边形,因为它必须包含至少 3 个顶点。如何从多面要素中完全删除多边形(使用删除键)?是否有适合 OpenLayers 的控件或插件?
我自己尝试了修补控件,但这导致了多个小错误。所以我想在我花很多时间解决问题之前先问问是否有人已经这样做了。
最佳答案
removeComponent: function(point) {
var removed = this.components && (this.components.length > 3);
if (removed) {
//remove last point
this.components.pop();
//remove our point
OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,
arguments);
//append copy of first point
var firstPoint = this.components[0];
OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,
[firstPoint]);
//bm extension: possibility to delete geometry from multigeometries
} else if (this.components && this.parent && this.parent.parent && this.parent.parent.CLASS_NAME === "OpenLayers.Geometry.MultiPolygon") {
//polygon with hole
if (this.parent.components.length > 1) {
for (var i = 0; i < this.parent.components.length && this.parent.components.length > 1; i++) {
if (this.parent.components[i].id === this.id) {
OpenLayers.Util.removeItem(this.parent.components, this.parent.components[i]);
this.parent.clearBounds();
return true;
}
}
}
//seperate polygon
for (var i = 0; i < this.parent.parent.components.length && this.parent.parent.components.length > 1; i++) {
if (this.parent.parent.components[i].id === this.parent.id) {
OpenLayers.Util.removeItem(this.parent.parent.components, this.parent.parent.components[i]);
this.parent.parent.clearBounds();
return true;
}
}
}
return removed;
},
关于javascript - OpenLayers 2.13.1 : deleting a geometry from a multigeometry feature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24238711/
您好,我有一个多几何图形,当您将鼠标传递给线条时,样式如何像翻转一样,我的问题是多几何图形中的不同线串可能具有不同的颜色? 在下一个示例中,当您选择样式时,我有地标 Durham Tees Valle
例如,我有一个由两个多边形组成的多边形。我可以使用 modifyFeature 控件和删除键删除顶点。但是,modifyFeature 控件不允许我完全删除多边形,因为它必须包含至少 3 个顶点。如何
我是一名优秀的程序员,十分优秀!