ol/Geolocation~Geolocation
import Geolocation from 'ol/Geolocation.js';
Helper class for providing HTML5 Geolocation capabilities. The Geolocation API is used to locate a user's position.
To get notified of position changes and errors, register listeners for the generic change event and the error event on your instance of Geolocation.
Example:
const geolocation = new Geolocation({
// take the projection to use from the map's view
projection: view.getProjection()
});
// listen to changes in position
geolocation.on('change', function(evt) {
console.log(geolocation.getPosition());
});
// listen to error
geolocation.on('error', function(evt) {
window.console.log(evt.message);
});
-
new Geolocation(options)
-
Name Type Description trackingboolean (defaults to false) Start Tracking right after instantiation.
trackingOptionsPositionOptions | undefined Tracking options. See https://www.w3.org/TR/geolocation-API/#position_options_interface.
projectionProjectionLike | undefined The projection the position is reported in.
Fires:
-
change(BaseEvent) - Generic change event. Triggered when the revision counter is increased. -
change:accuracy(ObjectEvent) -
change:accuracyGeometry(ObjectEvent) -
change:altitude(ObjectEvent) -
change:altitudeAccuracy(ObjectEvent) -
change:heading(ObjectEvent) -
change:position(ObjectEvent) -
change:projection(ObjectEvent) -
change:speed(ObjectEvent) -
change:tracking(ObjectEvent) -
change:trackingOptions(ObjectEvent) -
error(GeolocationError) - Triggered when a GeolocationPositionError occurs. -
error(BaseEvent) - Generic error event. Triggered when an error occurs. -
propertychange(ObjectEvent) - Triggered when a property is changed.
-
Extends
Observable Properties
| Name | Type | Settable | ObjectEvent type | Description |
|---|---|---|---|---|
accuracy | number | undefined | no | change:accuracy | The accuracy of the position measurement in meters. |
accuracyGeometry | Polygon | no | change:accuracygeometry | A geometry of the position accuracy. |
altitude | number | undefined | no | change:altitude | The altitude of the position in meters above mean sea level. |
altitudeAccuracy | number | undefined | no | change:altitudeaccuracy | The accuracy of the altitude measurement in meters. |
heading | number | undefined | no | change:heading | The heading of the device in radians from north. |
position | Coordinate | undefined | no | change:position | The current position of the device reported in the current projection. |
projection | Projection | undefined | yes | change:projection | The projection the position is reported in. |
speed | number | undefined | no | change:speed | The instantaneous speed of the device in meters per second. |
tracking | boolean | yes | change:tracking | The device location is being tracked. |
trackingOptions | PositionOptions | undefined | yes | change:trackingoptions | PositionOptions as defined by the HTML5 Geolocation spec . |
Methods
-
changed() inherited
-
Increases the revision counter and dispatches a 'change' event.
-
dispatchEvent(event){boolean | undefined} inherited
-
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.
-
Gets a value.
Name Type Description keystring Key name.
Returns:
Value.
-
getAccuracy(){number | undefined}
-
Get the accuracy of the position in meters.
Returns:
The accuracy of the position measurement in meters.
-
getAccuracyGeometry(){Polygon}
-
Get a geometry of the position accuracy.
Returns:
A geometry of the position accuracy.
-
getAltitude(){number | undefined}
-
Get the altitude associated with the position.
Returns:
The altitude of the position in meters above mean sea level.
-
getAltitudeAccuracy(){number | undefined}
-
Get the altitude accuracy of the position.
Returns:
The accuracy of the altitude measurement in meters.
-
getHeading(){number | undefined}
-
Get the heading as radians clockwise from North. Note: depending on the browser, the heading is only defined if the
enableHighAccuracyis set totruein the tracking options.Returns:
The heading of the device in radians from north.
-
Get a list of object property names.
Returns:
List of property names.
-
getPosition(){Coordinate | undefined}
-
Get the position of the device.
Returns:
The current position of the device reported in the current projection.
-
getProjection(){Projection | undefined}
-
Get the projection associated with the position.
Returns:
The projection the position is reported in.
-
Get an object of all property names and values.
Returns:
Object.
-
getRevision(){number} inherited
-
Get the version number for this object. Each time the object is modified, its version number will be incremented.
Returns:
Revision.
-
getSpeed(){number | undefined}
-
Get the speed in meters per second.
Returns:
The instantaneous speed of the device in meters per second.
-
getTracking(){boolean}
-
Determine if the device location is being tracked.
Returns:
The device location is being tracked.
-
getTrackingOptions(){PositionOptions | undefined}
-
Get the tracking options. See https://www.w3.org/TR/geolocation-API/#position-options.
Returns:
PositionOptions as defined by the HTML5 Geolocation spec .
-
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.
-
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.
-
Sets a value.
Name Type Description keystring Key name.
value* Value.
silentboolean | undefined Update without triggering an event.
-
setProjection(projection)
-
Set the projection to use for transforming the coordinates.
Name Type Description projectionProjectionLike The projection the position is reported in.
-
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.
-
setTracking(tracking)
-
Enable or disable tracking.
Name Type Description trackingboolean Enable tracking.
-
setTrackingOptions(options)
-
Set the tracking options. See http://www.w3.org/TR/geolocation-API/#position-options.
Name Type Description optionsPositionOptions PositionOptions as defined by the HTML5 Geolocation spec .
-
un(type, listener) inherited
-
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.
-
Unsets a property.
Name Type Description keystring Key name.
silentboolean | undefined Unset without triggering an event.
© 2005-present, OpenLayers Contributors All rights reserved.Licensed under the BSD 2-Clause License.
https://openlayers.org/en/latest/apidoc/module-ol_Geolocation-Geolocation.html