类:地理定位

ol/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 描述
tracking boolean (defaults to false)

在实例化后立即开始跟踪。

trackingOptions PositionOptions | undefined

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

projection ProjectionLike | undefined

报告位置所采用的投影。

触发事件:

继承

可观察属性

Name Type 可设置 ObjectEvent type 描述
accuracy number | undefined change:accuracy

定位精度(单位:米)

accuracyGeometry Polygon change:accuracygeometry

位置精度几何

altitude number | undefined change:altitude

该位置的海拔高度(米),相对于平均海平面。

altitudeAccuracy number | undefined change:altitudeaccuracy

海拔测量精度(单位:米)。

heading number | undefined change:heading

设备的航向,以弧度表示,从北向起算。

position Coordinate | undefined change:position

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

projection Projection | undefined 是的 change:projection

报告位置所采用的投影。

speed number | undefined change:speed

设备瞬时速度(米/秒)

tracking boolean 是的 change:tracking

正在跟踪设备位置。

trackingOptions PositionOptions | undefined 是的 change:trackingoptions

根据定义的位置选项HTML5 Geolocation spec .

方法

递增修订计数器并触发 'change' 事件。

dispatchEvent(event){boolean | undefined} inherited

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

Name Type 描述
event BaseEvent | string

事件对象。

返回:
false 如果对事件对象调用了 preventDefault 或任何监听器返回了 false。

获取值。

Name Type 描述
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(){Object.<string, *>} inherited

获取包含所有属性名称及其值的对象。

返回:
对象。

getRevision(){number} inherited

获取该对象的版本号。每次修改对象时,版本号都会递增。

返回:
修订。

getSpeed(){number | undefined}

获取速度(米/秒)。

返回:
设备瞬时速度(米/秒)

getTracking(){boolean}

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

返回:
正在追踪设备位置。

getTrackingOptions(){PositionOptions | undefined}

返回:
所定义的位置选项HTML5 Geolocation spec .

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

监听特定类型的事件。

Name Type 描述
type string | Array.<string>

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

listener function

监听器函数。

返回:
监听器的唯一键。若以事件类型数组作为首个参数调用,则返回键的数组。

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

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

Name Type 描述
type string | Array.<string>

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

listener function

监听函数。

返回:
监听器的唯一键。若以事件类型数组作为首个参数调用,则返回值为键的数组。

set(key, value, silent) inherited

设置值。

Name Type 描述
key string

键名。

value *

值。

silent boolean | undefined

更新而不触发事件。

setProjection(projection)

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

Name Type 描述
projection ProjectionLike

报告位置所使用的投影。

setProperties(values, silent) inherited

设置键值对集合。请注意,此操作会修改现有属性并添加新属性(不会删除任何现有属性)。

Name Type 描述
values Object.<string, *>

值。

silent boolean | undefined

无事件触发的更新。

setTracking(tracking)

启用或禁用跟踪。

Name Type 描述
tracking boolean

启用跟踪。

setTrackingOptions(options)

Name Type 描述
options PositionOptions

位置选项的定义HTML5 Geolocation spec .

un(type, listener) inherited

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

Name Type 描述
type string | Array.<string>

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

listener function

监听器函数。

unset(key, silent) inherited

清除属性。

Name Type 描述
key string

键名。

silent boolean | undefined

在不触发事件的情况下取消设置。