Class GeolocateControlMaptiler
Hierarchy (View Summary)
- GeolocateControl
- GeolocateControl
Constructors
constructor
Parameters
- options: GeolocateControlOptions
the control's options
Returns GeolocateControl
- options: GeolocateControlOptions
Methods
fire
Parameters
- event: string | Event
Optionalproperties: any
Returns this
listens
Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.
Parameters
- type: string
The event type
Returns boolean
trueif there is at least one registered listener for specified event type,falseotherwise- type: string
off
Removes a previously registered event listener.
Parameters
- type: string
The event type to remove listeners for.
- listener: Listener
The listener function to remove.
Returns this
- type: string
on
Adds a listener to a specified event type.
Parameters
- type: string
The event type to add a listen for.
- listener: Listener
The function to be called when the event is fired. The listener function is called with the data object passed to
fire, extended withtargetandtypeproperties.
Returns Subscription
- type: string
MaptileronAdd
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
- map: MapLibreMap | 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.
- map: MapLibreMap | Map
once
Adds a listener that will be called only once to a specified event type.
The listener will be called first time the event fires after the listener is registered.
Parameters
- type: string
The event type to listen for.
Optionallistener: ListenerThe function to be called when the event is fired the first time.
Returns Promise<any> | GeolocateControl
thisor a promise if a listener is not provided- type: string
onRemove
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.
Returns void
setEventedParent
Bubble all events fired by this instance of Evented to this parent instance of Evented.
Parameters
Optionalparent: Evented | nullOptionaldata: any
Returns this
trigger
Programmatically request and move the map to the user's location.
Returns boolean
falseif called before control was added to a map, otherwise returnstrue.
A
GeolocateControlcontrol provides a button that uses the browser's geolocation API to locate the user on the map.Not all browsers support geolocation, and some users may disable the feature. Geolocation support for modern browsers including Chrome requires sites to be served over HTTPS. If geolocation support is not available, the
GeolocateControlwill show as disabled.The zoom level applied will depend on the accuracy of the geolocation provided by the device.
The
GeolocateControlhas two modes. IftrackUserLocationisfalse(default) the control acts as a button, which when pressed will set the map's camera to target the user location. If the user moves, the map won't update. This is most suited for the desktop. IftrackUserLocationistruethe control acts as a toggle button that when active the user's location is actively monitored for changes. In this mode theGeolocateControlhas three interaction states:GeolocateControlbutton.These interaction states can't be controlled programmatically, rather they are set based on user interactions.
State Diagram
Example
See
Locate the user
Events
Event
trackuserlocationendof type Event will be fired when theGeolocateControlchanges to the background state, which happens when a user changes the camera during an active position lock. This only applies whentrackUserLocationistrue. In the background state, the dot on the map will update with location updates but the camera will not.Event
trackuserlocationstartof type Event will be fired when theGeolocateControlchanges to the active lock state, which happens either upon first obtaining a successful Geolocation API position for the user (ageolocateevent will follow), or the user clicks the geolocate button when in the background state which uses the last known position to recenter the map and enter active lock state (nogeolocateevent will follow unless the users's location changes).Event
userlocationlostfocusof type Event will be fired when theGeolocateControlchanges to the background state, which happens when a user changes the camera during an active position lock. This only applies whentrackUserLocationistrue. In the background state, the dot on the map will update with location updates but the camera will not.Event
userlocationfocusof type Event will be fired when theGeolocateControlchanges to the active lock state, which happens upon the user clicks the geolocate button when in the background state which uses the last known position to recenter the map and enter active lock state.Event
geolocateof type Event will be fired on each Geolocation API position update which returned as success.data- The returned Position object from the callback in Geolocation.getCurrentPosition() or Geolocation.watchPosition().Event
errorof type Event will be fired on each Geolocation API position update which returned as an error.data- The returned PositionError object from the callback in Geolocation.getCurrentPosition() or Geolocation.watchPosition().Event
outofmaxboundsof type Event will be fired on each Geolocation API position update which returned as success but user position is out of mapmaxBounds.data- The returned Position object from the callback in Geolocation.getCurrentPosition() or Geolocation.watchPosition().Example
Example
Example
Example
Example
Example
Example