ProtectedconstructorOptionaloptions: CreateControllerConstructorOptionsAn options object hash containing CreateController options.
ProtectedcursorThe CSS cursor to use on the map, for this controller.
If null, the map will fall back to the previous cursor that was set on the map.
Note that changing this cursor will update the cursor on the map's DOM node. When using multiple controllers (e.g. in a CompositeController), the controller that updates the cursor last (to a non-null value), will override any other non-null cursors of active controllers on the map.
Finishes the creation process.
This calls the onObjectCreated hook. The creation controller stays active. To deactivate, call:
map.controller = null.
Return the maximum number of points that should be created.
The maximum number of points to create.
Return the minimum number of points that should be created.
The minimum number of points to create.
Returns the settings configured on this CreateController. These settings are passed to the EditContext.settings. You can override this method to provide other custom settings to your own custom editor. Note in this case, it is important to also keep these default settings, because without them, the default editors might no longer work as expected. You can do that like this:
getSettings(): YourCustomSettings {
return {
...super.getSettings(),
yourCustomSetting: yourCustomValue,
}
}
Your own custom settings should also extend the EditSettings
Call this method to indicate that the controller's appearance has changed. Calling this method ensures the onDraw will be called during the next rendering pass.
Callback that is invoked when this controller is activated on a map. This method allows controller implementations to perform setup work.
the map on which the controller has been activated
This method is called when this controller needs to determine in which
layer an object should be created. This method can be overridden to choose
a specific layer. If this method returns null then the object creation will
not be started. This controller will remain the active controller though.
the map
the layer to create objects for or null
Called when a new feature instance needs to be created. *
the map view
the layer
a new feature
Callback that is invoked when this controller is deactivated on a map. This method allows controller implementations to perform cleanup work. This method must return either any resolved value or a promise to indicate completion of deactivation. This allows controller implementation to perform asynchronous deactivation work. During the period between this method being called and the resolution of the deactivation promise, this controller will no longer receive input events, but will still get the opportunity to draw itself.
a concrete value to indicate immediate deactivation or a deactivation promise.
Callback that allows controller implementations to perform custom drawing on the map. Controller shapes and icons are drawn on top of all other content in the map. Note that the map may perform caching which may cause this method to only be invoked once. When a controller implementation's appearance changes the implementation should call invalidate on itself.
Callback that allows controller implementations to draw labels on the map. Note that the map may perform caching which may cause this method to only be invoked once. When a controller implementation's appearance changes the implementation should call invalidate on itself.
Called when a gesture event has been received. This method must return a HandleEventResult value to indicate if the event was handled or not, If this method returns EVENT_IGNORED, the map will be given the opportunity to perform default gesture event behaviour. If default event handling is not desired, this method should return EVENT_HANDLED. (See the Controller class description for the default behavior.)
the gesture event handling result.
Called when a key event has been received. This method must return a HandleEventResult value to indicate if the event was handled or not, If this method returns EVENT_IGNORED, the map will be given the opportunity to perform default key event behaviour. If default event handling is not desired, this method should return EVENT_HANDLED. (See the Controller class description for the default behavior.)
The key event to be handled. Note that this is a KeyEvent and not a DOMEvent. You can access the corresponding DOMEvent through KeyEvent.domEvent.
The key event handling result.
Called when a complete object has been created.
The default implementation of this method adds the created object to the model of the given layer. When the return istrue, the controller will deactivate immediately.
When the return is a Promise, the controller will deactivate when the promise is resolved or when the promise is rejected.
the map view
the layer
the feature that was created
When a Promise is returned, the controller will deactivate when the promise is resolved or when the promise is rejected.
When no Promise is returned, the controller will deactivate immediately.
Set the minimum and maximum number of points that should be created using this controller. Once the maximum number of points is reached, the controller will automatically disable itself. Note that this method should be called before the creation controller is activated on the map, subsequent calls to this method will be ignored.
The minimum number of points that should be created. Has to be positive.
The maximum number of points that should be created. Set to -1 if not specified.
An event that fires whenever CreateController.restart was called.
Controller.on Restarted
An event that fires whenever the user edited the shape. EditShape
An event that fires whenever the user edits a property of the feature.
This event isn't fired by any of the default RIA edit handles, but a custom handle can emit an EditProperty event.
EditProperty
Controller.on Deactivated
This controller enables creating a new shape on the map. To specify the layer in which the object should be created, override the
onChooseLayermethod callback.If you want to change the way creation behaves, check out the Customizing creation and editing guide.