html5plus Geolocation模块管理设备位置信息
geolocation
Geolocation模块管理设备位置信息,用于获取地理位置信息,如经度、纬度等。通过plus.geolocation可获取设备位置管理对象。虽然W3C已经提供标准API获取位置信息,但在某些平台存在差异或未实现,为了保持各平台的统一性,定义此规范接口获取位置信息。
方法:
- getCurrentPosition: 获取当前设备位置信息
- watchPosition: 监听设备位置变化信息
- clearWatch: 关闭监听设备位置信息
对象:
- Position: JSON对象,设备位置信息数据
- Coordinates: JSON对象,地理坐标信息
- PositionOption: JSON对象,监听设备位置信息参数
回调方法:
- GeolocationSuccessCallback: 获取设备位置信息成功的回调函数
- GeolocationErrorCallback: 获取设备位置信息失败的回调函数
权限:
permissions
"Geolocation": { "description": "访问设备位置信息" }
Position
JSON对象,设备位置信息数据
interface Position { readonly attribute Coordinates coords; readonly attribute String coordsType; readonly attribute Number timestamp; }
属性:
-
coords: (Coordinates 类型 )地理坐标信息,包括经纬度、海拔、速度等信息
-
coordsType: (String 类型 )获取到地理坐标信息的坐标系类型
可取以下坐标系类型: “gps”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系; “bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系。
-
timestamp: (Number 类型 )获取到地理坐标的时间戳信息
时间戳值为从1970年1月1日至今的毫秒数。
Coordinates
JSON对象,地理坐标信息
interface Coordinates { readonly attribute double latitude; readonly attribute double longitude; readonly attribute double altitude; readonly attribute double accuracy; readonly attribute double altitudeAccuracy; readonly attribute double heading; readonly attribute double speed; }
属性:
-
latitude: (Number 类型 )坐标纬度值
数据类型对象,地理坐标中的纬度值。
-
longitude: (Number 类型 )坐标经度值
数据类型对象,地理坐标中的经度值。
-
altitude: (Number 类型 )海拔信息
数据类型对象,如果无法获取此信息,则此值为空(null)。
-
accuracy: (Number 类型 )地理坐标信息的精确度信息
数据类型对象,单位为米,其有效值必须大于0。
-
altitudeAccuracy: (Number 类型 )海拔的精确度信息
数据类型对象,单位为米,其有效值必须大于0。如果无法获取海拔信息,则此值为空(null)。
-
heading: (Number 类型 )表示设备移动的方向
数据类型对象,范围为0到360,表示相对于正北方向的角度。如果无法获取此信息,则此值为空(null)。如果设备没有移动则此值为NaN。
-
speed: (Number 类型 )表示设备移动的速度
数据类型对象,单位为米每秒(m/s),其有效值必须大于0。如果无法获取速度信息,则此值为空(null)。
PositionOption
JSON对象,监听设备位置信息参数
属性:
-
enableHighAccuracy: (Boolean 类型 )是否高精确度获取位置信息
高精度获取表示需要使用更多的系统资源,默认值为false。
-
timeout: (Number 类型 )获取位置信息的超时时间
单位为毫秒(ms),默认值为不超时。如果在指定的时间内没有获取到位置信息则触发错误回调函数。
-
maximumAge: (Number 类型 )获取位置信息的缓存时间
单位为毫秒(ms),默认值为0(立即更新获取)。如果设备缓存的位置信息超过指定的缓存时间,将重新更新位置信息后再返回。
-
provider: (String 类型 )定位数据的供应者
可取以下供应者: “system”:表示系统定位模块,支持wgs84坐标系; “baidu”:表示百度定位模块,支持gcj02/bd09/bd09ll坐标系。 默认使用“system”值,若指定的provider不存在或无效则返回错误回调。 注意:百度定位模块需要配置百度地图相关参数才能正常使用。
-
coordsType: (String 类型 )指定获取的定位数据坐标系类型
可取以下坐标系类型: “wgs84”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系; “bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系; provider为“system”时,默认使用“wgs84”类型;provider为“baidu”是,默认使用“bd09ll”类型。 如果设置的坐标系类型provider不支持,则返回错误。
GeolocationSuccessCallback
获取设备位置信息成功的回调函数
void onSuccess( position ) { // Get Position code. }
参数:
-
position: ( Position ) 必选 设备的地理位置信息,参考Position
返回值:
void : 无GeolocationErrorCallback
获取设备位置信息失败的回调函数
void onError( error ) { // Handle error }
参数:
-
error: ( DOMException ) 必选 获取位置操作的错误信息
返回值:
void : 无相关文章
最新发布
阅读排行
热门文章
猜你喜欢