Methods for programmatically manipulating sketches while digitizing features. r=bartvde (closes #3343)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@12103 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -183,14 +183,20 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
*
|
||||
* Parameters:
|
||||
* components - {Array(<OpenLayers.Geometry>)} The components to be removed
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} A component was removed.
|
||||
*/
|
||||
removeComponents: function(components) {
|
||||
var removed = false;
|
||||
|
||||
if(!(OpenLayers.Util.isArray(components))) {
|
||||
components = [components];
|
||||
}
|
||||
for(var i=components.length-1; i>=0; --i) {
|
||||
this.removeComponent(components[i]);
|
||||
removed = this.removeComponent(components[i]) || removed;
|
||||
}
|
||||
return removed;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -199,6 +205,9 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
*
|
||||
* Parameters:
|
||||
* component - {<OpenLayers.Geometry>}
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} The component was removed.
|
||||
*/
|
||||
removeComponent: function(component) {
|
||||
|
||||
@@ -207,6 +216,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
// clearBounds() so that it gets recalculated on the next call
|
||||
// to this.getBounds();
|
||||
this.clearBounds();
|
||||
return true;
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -37,12 +37,17 @@ OpenLayers.Geometry.LineString = OpenLayers.Class(OpenLayers.Geometry.Curve, {
|
||||
*
|
||||
* Parameters:
|
||||
* point - {<OpenLayers.Geometry.Point>} The point to be removed
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} The component was removed.
|
||||
*/
|
||||
removeComponent: function(point) {
|
||||
if ( this.components && (this.components.length > 2)) {
|
||||
var removed = this.components && (this.components.length > 2);
|
||||
if (removed) {
|
||||
OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,
|
||||
arguments);
|
||||
}
|
||||
return removed;
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -91,10 +91,13 @@ OpenLayers.Geometry.LinearRing = OpenLayers.Class(
|
||||
*
|
||||
* Parameters:
|
||||
* point - {<OpenLayers.Geometry.Point>}
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} The component was removed.
|
||||
*/
|
||||
removeComponent: function(point) {
|
||||
if (this.components.length > 3) {
|
||||
|
||||
var removed = this.components && (this.components.length > 3);
|
||||
if (removed) {
|
||||
//remove last point
|
||||
this.components.pop();
|
||||
|
||||
@@ -106,6 +109,7 @@ OpenLayers.Geometry.LinearRing = OpenLayers.Class(
|
||||
OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,
|
||||
[firstPoint]);
|
||||
}
|
||||
return removed;
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user