Class: Geolocation

ol/Geolocation~Geolocation


import Geolocation from 'ol/Geolocation.js';

提供 HTML5 地理定位功能的辅助类。 使用 Geolocation API 来定位用户的位置。

要获取位置变更和错误的通知,请在 Geolocation 实例上注册通用 change 事件和 error 事件的监听器。

示例:

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
tracking boolean (defaults to false)

实例化后立即开始跟踪。

trackingOptions PositionOptions | undefined

跟踪选项。 参见 https://www.w3.org/TR/geolocation-API/#position_options_interface

projection ProjectionLike | undefined

报告位置所使用的投影。

触发事件:

Extends

Observable Properties

Name Type Settable ObjectEvent type Description
accuracy number | undefined no change:accuracy

位置测量的精度,单位为米。

accuracyGeometry Polygon no change:accuracygeometry

位置精度的几何对象。

altitude number | undefined no change:altitude

位置的海拔高度,单位为米(高于平均海平面)。

altitudeAccuracy number | undefined no change:altitudeaccuracy

海拔测量精度,单位为米。

heading number | undefined no change:heading

设备的航向角,以从正北方向开始的弧度表示。

position Coordinate | undefined no change:position

设备在当前投影下报告的当前位置。

projection Projection | undefined yes change:projection

报告位置所使用的投影。

speed number | undefined no change:speed

设备的瞬时速度,单位为米/秒。

tracking boolean yes change:tracking

设备位置正在被跟踪。

trackingOptions PositionOptions | undefined yes change:trackingoptions

HTML5 Geolocation 规范 定义的 PositionOptions。

Methods

增加修订计数器并分发 'change' 事件。

dispatchEvent(event){boolean | undefined} inherited

分发事件并调用所有监听此类型事件的监听器。事件参数可以是一个字符串或一个 具有 type 属性的对象。

Name Type Description
event BaseEvent | string

事件对象。

返回值:
如果有人在事件对象上调用了 preventDefault 或任何监听器返回 false,则返回 false

获取一个值。

Name Type Description
key string

键名。

返回值:
值。

getAccuracy(){number | undefined}

获取位置精度,单位为米。

返回值:
位置测量的精度,单位为米。

getAccuracyGeometry(){Polygon}

获取位置精度的几何对象。

返回值:
位置精度的几何对象。

getAltitude(){number | undefined}

获取与位置关联的海拔高度。

返回值:
位置的海拔高度,单位为米(高于平均海平面)。

getAltitudeAccuracy(){number | undefined}

获取位置的海拔精度。

返回值:
海拔测量精度,单位为米。

getHeading(){number | undefined}

获取从正北方向顺时针计算的航向角(弧度)。 注意:根据浏览器的不同,只有在跟踪选项中将 enableHighAccuracy 设置为 true 时才定义航向。

返回值:
设备的航向角,以从正北方向开始的弧度表示。

getKeys(){Array.<string>} inherited

获取对象属性名列表。

返回值:
属性名列表。

getPosition(){Coordinate | undefined}

获取设备的位置。

返回值:
设备在当前投影下报告的当前位置。

getProjection(){Projection | undefined}

获取与位置关联的投影。

返回值:
报告位置所使用的投影。

getProperties(){NoInfer.<Properties>} inherited

获取包含所有属性名和值的对象。

返回值:
对象。

getRevision(){number} inherited

获取此对象的版本号。 每次对象被修改时,其版本号将递增。

返回值:
版本号。

getSpeed(){number | undefined}

获取速度,单位为米/秒。

返回值:
设备的瞬时速度,单位为米/秒。

getTracking(){boolean}

判断设备位置是否正在被跟踪。

返回值:
设备位置正在被跟踪。

getTrackingOptions(){PositionOptions | undefined}

返回值:
HTML5 Geolocation 规范 定义的 PositionOptions。

on(type, listener){EventsKey | Array<EventsKey>} inherited

监听特定类型的事件。

Name Type Description
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

once(type, listener){EventsKey | Array<EventsKey>} inherited

仅监听一次特定类型的事件。

Name Type Description
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

set(key, value, silent) inherited

设置一个值。

Name Type Description
key string

键名。

value *

值。

silent boolean | undefined

更新但不触发事件。

setProjection(projection)

设置用于坐标变换的投影。

Name Type Description
projection ProjectionLike

报告位置所使用的投影。

setProperties(values, silent) inherited

设置一组键值对。 注意,这会更改任何现有属性并添加新属性(不会移除任何现有属性)。

Name Type Description
values Partial.<NoInfer.<Properties>>

值。

silent boolean | undefined

更新但不触发事件。

setTracking(tracking)

启用或禁用跟踪。

Name Type Description
tracking boolean

启用跟踪。

setTrackingOptions(options)

Name Type Description
options PositionOptions

HTML5 Geolocation 规范 定义的 PositionOptions。

un(type, listener) inherited

取消监听特定类型的事件。

Name Type Description
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

unset(key, silent) inherited

取消设置一个属性。

Name Type Description
key string

键名。

silent boolean | undefined

取消设置但不触发事件。