fix: ol.interaction.Select conflict
Prevent vertexFeature_ from ol.interaction.Modify from being selected by ol.interaction.Select. The bug occurs when an delete attempt fails. ex: clicikng on the first or last node of LineString, or clicking a line segment between two nodes.
This commit is contained in:
@@ -541,7 +541,7 @@ ol.interaction.Modify.handleEvent = function(mapBrowserEvent) {
|
|||||||
mapBrowserEvent.type == ol.MapBrowserEvent.EventType.POINTERMOVE) {
|
mapBrowserEvent.type == ol.MapBrowserEvent.EventType.POINTERMOVE) {
|
||||||
this.handlePointerMove_(mapBrowserEvent);
|
this.handlePointerMove_(mapBrowserEvent);
|
||||||
}
|
}
|
||||||
if (!goog.isNull(this.vertexFeature_) && this.snappedToVertex_ &&
|
if (!goog.isNull(this.vertexFeature_) &&
|
||||||
this.deleteCondition_(mapBrowserEvent)) {
|
this.deleteCondition_(mapBrowserEvent)) {
|
||||||
var geometry = this.vertexFeature_.getGeometry();
|
var geometry = this.vertexFeature_.getGeometry();
|
||||||
goog.asserts.assertInstanceof(geometry, ol.geom.Point);
|
goog.asserts.assertInstanceof(geometry, ol.geom.Point);
|
||||||
@@ -707,9 +707,8 @@ ol.interaction.Modify.prototype.insertVertex_ = function(segmentData, vertex) {
|
|||||||
ol.interaction.Modify.prototype.removeVertex_ = function() {
|
ol.interaction.Modify.prototype.removeVertex_ = function() {
|
||||||
var dragSegments = this.dragSegments_;
|
var dragSegments = this.dragSegments_;
|
||||||
var segmentsByFeature = {};
|
var segmentsByFeature = {};
|
||||||
var deleted = false;
|
|
||||||
var component, coordinates, dragSegment, geometry, i, index, left;
|
var component, coordinates, dragSegment, geometry, i, index, left;
|
||||||
var newIndex, newSegment, right, segmentData, uid;
|
var newIndex, newSegment, right, segmentData, uid, deleted;
|
||||||
for (i = dragSegments.length - 1; i >= 0; --i) {
|
for (i = dragSegments.length - 1; i >= 0; --i) {
|
||||||
dragSegment = dragSegments[i];
|
dragSegment = dragSegments[i];
|
||||||
segmentData = dragSegment[0];
|
segmentData = dragSegment[0];
|
||||||
@@ -793,7 +792,7 @@ ol.interaction.Modify.prototype.removeVertex_ = function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return deleted;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user