IControl
Interface for interactive controls added to the map. This is a specification for implementers to model: it is not an exported method or class.
Controls must implement onAdd and onRemove, and must own an
element, which is often a div element. To use Maps SDK JS’s
default control styling, add the trimblemaps-ctrl class to your control’s
node.
Example
class HelloWorldControl: IControl {
    onAdd(map) {
        this._map = map;
        this._container = document.createElement('div');
        this._container.className = 'trimblemaps-ctrl';
        this._container.textContent = 'Hello, world';
        return this._container;
    }
    onRemove() {
        this._container.parentNode.removeChild(this._container);
        this._map = undefined;
    }
}
Methods
onAdd()
onAdd(
map:Map):HTMLElement
Register a control on the map and give it a chance to register event listeners and resources. This method is called by Map#addControl internally.
Parameters
| Parameter | Type | Description | 
|---|---|---|
| map | Map | the Map this control will be added to | 
Returns
HTMLElement
The control’s container element. This should be created by the control and returned by onAdd without being attached to the DOM: the map will insert the control’s element into the DOM as necessary.
onRemove()
onRemove(
map:Map):void
Unregister a control on the map and give it a chance to detach event listeners and resources. This method is called by Map#removeControl internally.
Parameters
| Parameter | Type | Description | 
|---|---|---|
| map | Map | the Map this control will be removed from | 
Returns
void
Properties
getDefaultPosition()?
readonlyoptionalgetDefaultPosition: () =>ControlPosition
Returns
a control position, one of the values valid in addControl.