By admin in 亚洲必赢app在哪下载 on 2018年12月19日

Geolocation模块管理设施地点新闻,用于取地理地方音讯,如经度、纬度等。通过plus.geolocation可取得装备地点管理对象。即便W3C已经提供规范API获取地点音讯,但于好几平台是差距或未实现,为了保全各平台的统一性,定义是规范接口获取地方信息。

1、方法

1.1、getCurrentPosition: 获取当前设施地点音讯

   void
plus.geolocation.getCurrentPosition( successCB, errorCB, option
);

征:地点音讯将通过手机GPS设备或者此外音信若IP地址、移动网信号获取,由于拿到地点音讯或要比丰盛的小运,当成功获取地方新闻后以通过successCB回调函数重回。

参数:

successCB: (
GeolocationSuccessCallback ) 必选
获取装备地方新闻成功回调函数

errorCB: (
GeolocationErrorCallback ) 可选 获取装备地方信息战败回调函数

option: (
PositionOptions ) 可选 获取装备地点信息之参数

返回值:void
: 无

阳台援助:Android

  • 2.2+ (支持): 支持、iOS – 4.3+ (支持): 支持

示例:

[html] view
plain

copy
print?

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset=”utf-8″>  
  5. <title>Geolocation Example</title>  
  6. <script type=”text/javascript” >  
  7. // 扩张API加载了后调用onPlusReady回调函数  
  8. document.addEventListener( “plusready”, onPlusReady, false );  
  9. // 扩大API加载了,现在可健康调用扩充API  
  10. function onPlusReady() {  
  11. plus.geolocation.getCurrentPosition( function ( p ) {  
  12. alert( “Geolocation\nLatitude:” + p.coords.latitude + “\nLongitude:” + p.coords.longitude + “\nAltitude:” + p.coords.altitude );  
  13. }, function ( e ) {  
  14. alert( “Geolocation error: ” + e.message );  
  15. } );  
  16. }  
  17. </script>  
  18. </head>  
  19. <body >  
  20. </body>  
  21. </html>  




    Geolocation Example




 

1.2、watchPosition: 监听设备地方别音讯

      Number
plus.geolocation.watchPosition( successCB, errorCB, option );

说明:地点音信用透过手机GPS设备或者另信息一旦IP地址、移动网络信号获取。当地方消息更新后以经过successCB回调函数重返。地方消息得到失败则调用回调函数errorCB。

参数:

successCB: (
GeolocationSuccessCallback ) 必选
设备地点信息更新成功回调函数

errorCB: (
GeolocationErrorCallback ) 可选 获取装备地点音信败北回调函数

option: (
PositionOptions ) 可选 监听设备地方信息之参数

再次回到值:Number :
用于标识地点信息监听器,可经过clear沃特(Wat)ch方法废除监听。

平台支撑:Android

  • 2.2+ (支持): 支持,iOS – 4.3+ (支持): 支持

示例:

[html] view
plain

copy
print?

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset=”utf-8″>  
  5. <title>Geolocation Example</title>  
  6. <script type=”text/javascript” >  
  7. // 扩充API加载了后调整用onPlusReady回调函数  
  8. document.addEventListener( “plusready”, onPlusReady, false );  
  9. // 扩充API加载了,现在足健康调用扩展API  
  10. function onPlusReady() {  
  11. plus.geolocation.watchPosition( function ( a ) {  
  12. alert( “Geolocation\nLatitude:” + p.coords.latitude + “\nLongitude:” + p.coords.longitude + “\nAltitude:” + p.coords.altitude );  
  13. }, function ( e ) {  
  14. alert( “Geolocation error: ” + e.message );  
  15. } );  
  16. }  
  17. </script>  
  18. </head>  
  19. <body >  
  20. </body>  
  21. </html>  




    Geolocation Example




 

1.3、clear沃特(Wat)ch: 关闭监听设备地方信息

       void
plus.geolocation.clearWatch( watchId );

参数:watchId: (
Number ) 必选
需要撤废的职监听器标识,调用watchPosition方法的回到值。

返回值:void
: 无

阳台援助:Android

  • 2.2+ (支持): 支持,iOS – 4.3+ (支持): 支持

示例:

[html] view
plain

copy
print?

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset=”utf-8″>  
  5. <title>Geolocation Example</title>  
  6. <script type=”text/javascript” >  
  7. // 扩充API加载了后调用onPlusReady回调函数  
  8. document.addEventListener( “plusready”, onPlusReady, false );  
  9. // 扩张API加载了,现在可正常调用扩张API  
  10. var wid = null;  
  11. function onPlusReady() {  
  12. wid = plus.geolocation.watchPosition( function ( p ) {  
  13. alert( “Geolocation\nLatitude:” + p.coords.latitude + “\nLongitude:” + p.coords.longitude + “\nAltitude:” + p.coords.altitude );  
  14. }, function ( e ) {  
  15. alert( “Geolocation error: ” + e.message );  
  16. } );  
  17. 亚洲必赢app在哪下载,}  
  18. function cancel() {  
  19. plus.geolocation.clearWatch( wid );  
  20. wid = null;  
  21. }  
  22. </script>  
  23. </head>  
  24. <body >  
  25. <input type=”button” value=”Cancel” onclick=”cancel();” ></input>  
  26. </body>  
  27. </html>  




    Geolocation Example





 

2、对象

2.1、Position: JSON对象,设备地点音信数量

interface
Position {

readonly
attribute Coordinates coords;

readonly
attribute String coordsType;

readonly
attribute Number timestamp;

readonly
attribute Address address;

readonly
attribute String addresses;

}

属性:

(1)、coords:
(Coordinates 类型 )地理坐标音信,包括通过纬度、海拔、速度等信息

(2)、coordsType:
(String 类型 )获取到地理坐标音信之坐标系类型,可取以下坐标系类型:
“gps”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系;
“bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系。

(3)、timestamp:
(Number 类型
)获取到地理坐标的时间穿信息,时间戳值为自1970年10月1日至前几天的毫秒数。

(4)、address:
(Address 类型
)获取到地理地点对应的地址音信,获取地址音信需连续至服务器举行解析,所以会吃又多的资源,假若无待取地址消息而通过设置PositionOptions参数的geocode属性值为false避免获取地址音信。
如若没拿走到地点信息则重返undefined。平台补助Android – 2.3+ (补助):
使用系统定点模块无法取地方消息。iOS – 5.1+ (协助):
系统稳定模块也支撑获取地点信息。

(5)、addresses:
(String 类型
)获取完整地址描述音信。假若无得到地点音信则再次来到undefined。平台支撑Android

  • 2.3+ (匡助): 使用系统稳定模块不可以获取地方消息。iOS – 5.1+ (补助):
    系统定点模块也帮助获取地方音信。

2.2、Address: JSON对象,地址音讯

interface
Address {

readonly
attribute String country;

readonly
attribute String province;

readonly
attribute String city;

readonly
attribute String district;

readonly
attribute String street;

readonly
attribute String poiName;

readonly
attribute String postalCode;

readonly
attribute String cityCode;

}

属性:

(1)、country:
(String 类型 )国家。如“中国”,倘若不可能取之音讯则再次回到undefined。

(2)、province:
(String 类型
)省份称。如“迪拜市”,要是不能赢得这音信则再次来到undefined。

(3)、city:
(String 类型
)城市称号。如“新加坡市”,倘若不能拿到那音则再次回到undefined。

(4)、district:
(String 类型
)区(县)名称。如“朝阳区”,假若不可以取得这音讯则再次来到undefined。

(5)、street:
(String 类型
)街道和门牌音信。如“酒仙桥路”,假诺无法取之音则重回undefined。

(6)、poiName:
(String 类型
)POI音信。如“电子城.国际电子总部”,如若不能获取那消息则重回undefined。

(7)、postalCode:
(String 类型
)邮编。如“100016”,假若无法得到这音则重回undefined。

(8)、cityCode:
(String 类型
)城市代码。如“010”,假若无法取得这音讯则重临undefined。

2.3、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;

}

属性:

(1)、latitude:
(Number 类型 )坐标纬度值。数据类型对象,地理坐标中之纬度值。

(2)、longitude:
(Number 类型 )坐标经度值。数据类型对象,地理坐标中的经度值。

(3)、altitude:
(Number 类型
)海拔音信。数据类型对象,要是无法取得这音信,则此值为空(null)。

(4)、accuracy:
(Number 类型
)地理坐标信息的精确度信息。数据类型对象,单位也米,其有效值必须大于0。

(5)、altitudeAccuracy:
(Number 类型
)海拔的精确度信息。数据类型对象,单位吗米,其有效值必须大于0。假设无法获取海拔音讯,则此值为空(null)。

(6)、heading:
(Number 类型
)表示设备移动的趋势。数据类型对象,范围吗0及360,表示相对于巧输方向的角度。倘使不可以取之信息,则此值为空(null)。假若设备尚未运动则此值为NaN。

(7)、speed:
(Number 类型
)表示设备移动的快慢。数据类型对象,单位吗米每秒(m/s),其有效值必须大于0。倘若不可能得到速度信息,则此值为空(null)。

2.4、PositionOptions: JSON对象,监听设备地点信息参数

属性:

(1)、enableHighAccuracy:
(Boolean 类型
)是否大精确度获取地点信息。高精度获取表示需要使用重复多之系统资源,默认值为false。

(2)、timeout:
(Number 类型
)获取地点音讯之晚点时间。单位为纳秒(ms),默认值为未过期。假如在指定的年月外并未沾到岗位消息则触发错回调函数。

(3)、maximumAge:
(Number 类型
)获取地方音信之缓存时间。单位为皮秒(ms),默认值为0(顿时更新得)。假使设备缓存的职新闻超越指定的缓存时间,将再也更新地点讯息后再行回来。

(4)、provider:
(String 类型 )优先拔取的固化模块。可获以下供应者:
“system”:表示系统稳定模块,襄助wgs84坐标系;
“baidu”:表示百度定位模块,匡助gcj02/bd09/bd09ll坐标系;
“amap”:表示高德定位模板,帮忙gcj02坐标系。
默认值按以下优先顺序获取(amap>baidu>system),若指定的provider不存或者无效则归错误回调。
注意:百度/高德定位模块需要安排百度/高德地图相关参数才能够正常使用。平台援助Android

  • 2.2+ (辅助),iOS – 4.5+ (扶助):
    provider为“baidu”时,仅辅助bd09ll坐标系,暂勿援助高德定位模块。

[html] view
plain

copy
print?

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset=”utf-8″>  
  5. <title>Geolocation Example</title>  
  6. <script type=”text/javascript” >  
  7. // 扩充API加载了后调用onPlusReady回调函数  
  8. document.addEventListener( “plusready”, onPlusReady, false );  
  9. // 扩张API加载了,现在可正常调用扩充API  
  10. function onPlusReady() {  
  11. // 用百度地图地位模块获取地方音讯  
  12. plus.geolocation.getCurrentPosition( function ( p ) {  
  13. alert( “Geolocation\nLatitude:” + p.coords.latitude + “\nLongitude:” + p.coords.longitude + “\nAltitude:” + p.coords.altitude );  
  14. }, function ( e ) {  
  15. alert( “Geolocation error: ” + e.message );  
  16. },{provider:’baidu’});  
  17. }  
  18. </script>  
  19. </head>  
  20. <body >  
  21. </body>  
  22. </html>  




    Geolocation Example




 

(5)、coordsType:
(String 类型 )指定获取的永恒数据坐标系类型。可抱以下坐标系类型:
“wgs84”:表示WGS-84坐标系; “gcj02”:表示国测局经纬度坐标系;
“bd09”:表示百度墨卡托坐标系; “bd09ll”:表示百度经纬度坐标系;
provider为“system”时,默认使用“wgs84”类型;provider为“baidu”是,默认使用“bd09ll”类型。
假如安的坐标系类型provider不协助,则赶回错误。

(6)、geocode:
(Boolean 类型
)是否解析地址信息。解析的地方音信保存到Position对象的address、addresses属性中,true表示解析地址音信,false表示未解析地址信息,重临的Position对象的address、addresses属性值为undefined,默认值为true。
假使条分缕析地址消息战败则赶回的Position对象的address、addresses属性值为null。

2.5、GeolocationError: JSON对象,定位错误音信

interface
GeolocationError {

const Number
PERMISSION_DENIED = 1;

const Number
POSITION_UNAVAILABLE = 2;

const Number
TIMEOUT = 3;

const Number
UNKNOWN_ERROR = 4;

readonly
attribute Number code;

readonly
attribute String message;

}

常量:

PERMISSION_DENIED:
(Number 类型
)访问权限被驳回。系统不容许程序拿到一定效用,错误代码常量值为1。

POSITION_UNAVAILABLE:
(Number 类型
)地方音讯不可用。不可以取有效之地点信息,错误代码常量值为2。

TIMEOUT:
(Number 类型
)获取地方音讯超时。不可以以指定的时空内获取地点音讯,错误代码常量值为3。

UNKNOWN_ERROR:
(Number 类型
)未知错误。其余未知错误致不可能获取地点信息,错误代码常量值为4。

属性:

code:
(Number 类型 )错误代码。取值范围为GeolocationError对象的常量值。 

message:
(String 类型 )错误描述音信。详细错误描述信息。

3、回调方法

3.1、GeolocationSuccessCallback: 获取装备地点音讯成功之回调函数

void
onSuccess( position ) {

// Get
Position code.

}

参数:position: (
Position ) 必选 设备的地理地点音信,参考Position

返回值:void
: 无

示例:

[html] view
plain

copy
print?

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset=”utf-8″>  
  5. <title>Geolocation Example</title>  
  6. <script type=”text/javascript” >  
  7. // 扩充API加载了后调用onPlusReady回调函数  
  8. document.addEventListener( “plusready”, onPlusReady, false );  
  9. // 扩充API加载了,现在可以健康调用扩张API  
  10. function onPlusReady() {  
  11. plus.geolocation.getCurrentPosition( function ( p ) {  
  12. alert( “Geolocation\nLatitude:” + p.coords.latitude + “\nLongitude:” + p.coords.longitude + “\nAltitude:” + p.coords.altitude );  
  13. console.log( “Geolocation info: ” + JSON.stringify(p) );  
  14. }, function ( e ) {  
  15. console.log(“Gelocation Error: code – “+e.code+”; message – “+e.message);  
  16. } );  
  17. }  
  18. </script>  
  19. </head>  
  20. <body >  
  21. </body>  
  22. </html>  




    Geolocation Example




 

3.1、GeolocationErrorCallback: 获取装备地方新闻失利的回调函数

function
void onGeolocationError( GeolocationError error ) {

// Handle
error

var code =
error.code; // 错误编码

var message
= error.message; // 错误描述信息

}

参数:

error: (
GeolocationError ) 必选
获取地方操作的错误音信,可通过error.code(Number类型)获取错误编码;
可通过error.message(String类型)获取错误描述信息。

返回值:void
: 无

示例:

[html] view
plain

copy
print?

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset=”utf-8″>  
  5. <title>Geolocation Example</title>  
  6. <script type=”text/javascript” >  
  7. // 扩充API加载了后调用onPlusReady回调函数  
  8. document.addEventListener( “plusready”, onPlusReady, false );  
  9. // 扩展API加载了,现在可健康调用扩展API  
  10. function onPlusReady() {  
  11. plus.geolocation.getCurrentPosition( function ( p ) {  
  12. console.log( “Geolocation\nLatitude:” + p.coords.latitude + “\nLongitude:” + p.coords.longitude + “\nAltitude:” + p.coords.altitude );  
  13. }, function ( e ) {  
  14. console.log(“Gelocation Error: code – “+e.code+”; message – “+e.message);  
  15.         switch(e.code) {  
  16.           case e.PERMISSION_DENIED:  
  17.               alert(“User denied the request for Geolocation.”);  
  18.               break;  
  19.           case e.POSITION_UNAVAILABLE:  
  20.               alert(“Location information is unavailable.”);  
  21.               break;  
  22.           case e.TIMEOUT:  
  23.               alert(“The request to get user location timed out.”);  
  24.               break;  
  25.           case e.UNKNOWN_ERROR:  
  26.               alert(“An unknown error occurred.”);  
  27.               break;  
  28.           }  
  29. } );  
  30. }  
  31. </script>  
  32. </head>  
  33. <body >  
  34. </body>  
  35. </html>  

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 亚洲必赢app官方下载 版权所有