-
new Modify(options)
interaction/Modify.js, line 273 -
Name Type Description conditionCondition | undefined A function that takes a
MapBrowserEventand returns a boolean to indicate whether that event will be considered to add or move a vertex to the sketch. Default isprimaryAction.deleteConditionCondition | undefined A function that takes a
MapBrowserEventand returns a boolean to indicate whether that event should be handled. By default,singleClickwithaltKeyOnlyresults in a vertex deletion. This combination is handled by wrapping the two condition checks in a single function:import { altKeyOnly, singleClick } from 'ol/events/condition.js'; function (event) { return altKeyOnly(event) && singleClick(event) }insertVertexConditionCondition | undefined A function that takes a
MapBrowserEventand returns a boolean to indicate whether a new vertex should be added to the sketch features. Default isalways.pixelTolerancenumber (defaults to 10) Pixel tolerance for considering the pointer close enough to a segment or vertex for editing.
styleStyleLike | FlatStyleLike | undefined Style used for the modification point or vertex. For linestrings and polygons, this will be the affected vertex, for circles a point along the circle, and for points the actual point. If not configured, the default edit style is used (see
Style). When using a style function, the point feature passed to the function will have anexistingproperty - indicating whether there is an existing vertex underneath or not, afeaturesproperty - an array whose entries are the features that are being modified, and ageometriesproperty - an array whose entries are the geometries that are being modified. Both arrays are in the same order. Thegeometriesare only useful when modifying geometry collections, where the geometry will be the particular geometry from the collection that is being modified.sourceVectorSource | undefined The vector source with features to modify. If a vector source is not provided, a feature collection must be provided with the
featuresoption.hitDetectionboolean | BaseVectorLayer<any, any, any> | undefined When configured, point features will be considered for modification based on their visual appearance, instead of being within the
pixelTolerancefrom the pointer location. When aBaseVectorLayeris provided, only the rendered representation of the features on that layer will be considered.featuresCollection<Feature> | undefined The features the interaction works on. If a feature collection is not provided, a vector source must be provided with the
sourceoption.filterFilterFunction | undefined A function that takes a
Featureand returnstrueif the feature may be modified orfalseotherwise.traceboolean | Condition (defaults to false) Trace a portion of another geometry. Tracing starts when two neighboring vertices are dragged onto a trace target, without any other modification in between..
traceSourceVectorSource | undefined Source for features to trace. If tracing is active and a
traceSourceis not provided, the interaction'ssourcewill be used. Tracing requires that the interaction is configured with either atraceSourceor asource.wrapXboolean (defaults to false) Wrap the world horizontally on the sketch overlay.
snapToPointerboolean (defaults to !hitDetection) The vertex, point or segment being modified snaps to the pointer coordinate when clicked within the
pixelTolerance.sharedVerticesEqualfunction | undefined A function that takes two coordinates and returns whether they should be considered equal for vertex matching purposes. By default, all coordinate dimensions are compared. This is useful when features have mixed coordinate dimensions (e.g., XY and XYZ) but should still be treated as sharing vertices at the same 2D position.
Fires:
-
change(BaseEvent) - Generic change event. Triggered when the revision counter is increased. -
change:active(ObjectEvent) -
error(BaseEvent) - Generic error event. Triggered when an error occurs. -
modifyend(ModifyEvent) - Triggered upon feature modification end -
modifystart(ModifyEvent) - Triggered upon feature modification start -
propertychange(ObjectEvent) - Triggered when a property is changed.
-
Extends
- PointerInteraction
Observable Properties
| Name | Type | Settable | ObjectEvent type | Description |
|---|---|---|---|---|
active |
boolean | yes | change:active |
|
Methods
-
canInsertPoint(){boolean}
interaction/Modify.js, line 2539 -
Check if a point can be inserted to the current linestring or polygon at the current pointer position.
Returns:
A point can be inserted at the current pointer position.
-
canRemovePoint(){boolean}
interaction/Modify.js, line 2321 -
Check if a point can be removed from the current linestring or polygon at the current pointer position.
Returns:
A point can be deleted at the current pointer position.
-
changed() inherited
Observable.js, line 72 -
Increases the revision counter and dispatches a 'change' event.
-
dispatchEvent(event){boolean | undefined} inherited
events/Target.js, line 85 -
Dispatches an event and calls all listeners listening for events of this type. The event parameter can either be a string or an Object with a
typeproperty.Name Type Description eventBaseEvent | string Event object.
Returns:
falseif anyone called preventDefault on the event object or if any of the listeners returned false.
-
get(key){*} inherited
Object.js, line 136 -
Gets a value.
Name Type Description keystring Key name.
Returns:
Value.
-
getActive(){boolean} inherited
interaction/Interaction.js, line 82 -
Return whether the interaction is currently active.
Returns:
trueif the interaction is active,falseotherwise.
-
getKeys(){Array.<string>} inherited
Object.js, line 149 -
Get a list of object property names.
Returns:
List of property names.
-
getMap(){Map | null} inherited
interaction/Interaction.js, line 91 -
Get the map associated with this interaction.
Returns:
Map.
-
getOverlay(){VectorLayer}
interaction/Modify.js, line 753 -
Get the overlay layer that this interaction renders the modification point or vertex to.
Returns:
Overlay layer.
-
getPointerCount(){number} inherited
interaction/Pointer.js, line 95 -
Returns the current number of pointers involved in the interaction, e.g.
2when two fingers are used.Returns:
The number of pointers.
-
getProperties(){NoInfer.<Properties>} inherited
Object.js, line 158 -
Get an object of all property names and values.
Returns:
Object.
-
getRevision(){number} inherited
Observable.js, line 83 -
Get the version number for this object. Each time the object is modified, its version number will be incremented.
Returns:
Revision.
-
insertPoint(coordinate){boolean}
interaction/Modify.js, line 2574 -
Inserts the vertex currently being pointed to the current linestring or polygon.
Name Type Description coordinateCoordinate | undefined If provided, the pointer will be set to the provided coordinate. If not, the current pointer coordinate will be used.
Returns:
A vertex was inserted.
-
on(type, listener){EventsKey | Array<EventsKey>} inherited
Observable.js, line 156 -
Listen for a certain type of event.
Name Type Description typestring | Array.<string> The event type or array of event types.
listenerfunction The listener function.
Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.
-
once(type, listener){EventsKey | Array<EventsKey>} inherited
Observable.js, line 168 -
Listen once for a certain type of event.
Name Type Description typestring | Array.<string> The event type or array of event types.
listenerfunction The listener function.
Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.
-
removePoint(coordinate){boolean}
interaction/Modify.js, line 2354 -
Removes the vertex currently being pointed from the current linestring or polygon.
Name Type Description coordinateCoordinate | undefined If provided, the pointer will be set to the provided coordinate. If not, the current pointer coordinate will be used.
Returns:
True when a vertex was removed.
-
set(key, value, silent) inherited
Object.js, line 218 -
Sets a value.
Name Type Description keystring Key name.
value* Value.
silentboolean | undefined Update without triggering an event.
-
setActive(active)
interaction/Modify.js, line 726 -
Activate or deactivate the interaction.
Name Type Description activeboolean Active.
-
setProperties(values, silent) inherited
Object.js, line 241 -
Sets a collection of key-value pairs. Note that this changes any existing properties and adds new ones (it does not remove any existing properties).
Name Type Description valuesPartial.<NoInfer.<Properties>> Values.
silentboolean | undefined Update without triggering an event.
-
un(type, listener) inherited
Observable.js, line 177 -
Unlisten for a certain type of event.
Name Type Description typestring | Array.<string> The event type or array of event types.
listenerfunction The listener function.
-
unset(key, silent) inherited
Object.js, line 265 -
Unsets a property.
Name Type Description keystring Key name.
silentboolean | undefined Unset without triggering an event.