Geolocation

稿件来源: 互联网   撰稿作者: 匿名   发表日期: 2015-03-23   阅读次数: 192   查看权限: 游客查看

Geolocation模块管理设备位置信息,用于获取地理位置信息,如经度、纬度等。通过plus.geolocation可获取设备位置管理对象。虽然W3C已经提供标准API获取位置信息,但在某些平台存在差异或未实现,为了保持各平台的统一性,定义此规范接口获取位置信息。

方法:

对象:

回调方法:

getCurrentPosition

获取当前设备位置信息

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

说明:

位置信息将通过手机GPS设备或其它信息如IP地址、移动网络信号获取,由于获取位置信息可能需要较长的时间,当成功获取位置信息后将通过successCB回调函数返回。

参数:

返回值:

平台支持:

Android : 2.2+

支持

iOS : 4.3+

支持

WP : 7.5+

暂不支持

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Geolocation Example</title>
	<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
	plus.geolocation.getCurrentPosition( function ( p ) {
		alert( "GeolocationnLatitude:" + p.coords.latitude + "nLongitude:" + p.coords.longitude + "nAltitude:" + p.coords.altitude );
	}, function ( e ) {
		alert( "Geolocation error: " + e.message );
	} );
}
	</script>
	</head>
	<body >
	</body>
</html>

watchPosition

监听设备位置变化信息

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

说明:

位置信息将通过手机GPS设备或其它信息如IP地址、移动网络信号获取。当位置信息更新后将通过successCB回调函数返回。位置信息获取失败则调用回调函数errorCB。

参数:

返回值:

用于标识位置信息监听器,可通过clearWatch方法取消监听。

平台支持:

Android : 2.2+

支持

iOS : 4.3+

支持

WP : 7.5+

暂不支持

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Geolocation Example</title>
	<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
	plus.geolocation.watchPosition( function ( a ) {
			alert( "GeolocationnLatitude:" + p.coords.latitude + "nLongitude:" + p.coords.longitude + "nAltitude:" + p.coords.altitude );
	}, function ( e ) {
		alert( "Geolocation error: " + e.message );
	} ); 
}
	</script>
	</head>
	<body >
	</body>
</html>

clearWatch

关闭监听设备位置信息

void plus.geolocation.clearWatch( watchId );

说明:

关闭监听设备位置信息

参数:

  • watchId (Number) 可选 需要取消的位置监听器标识,调用watchPosition方法的返回值。

返回值:

平台支持:

Android : 2.2+

支持

iOS : 4.3+

支持

WP : 7.5+

暂不支持

示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Geolocation Example</title>
		<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
var wid = null;
function onPlusReady() {
	plus.geolocation.getCurrentPosition( function ( p ) {
	alert( "GeolocationnLatitude:" + p.coords.latitude + "nLongitude:" + p.coords.longitude + "nAltitude:" + p.coords.altitude );
	}, function ( e ) {
	alert( "Geolocation error: " + e.message );
	} );
}
function cancel() {
	plus.geolocation.clearWatch( wid );
	wid = null;
}
		</script>
	</head>
	<body >
		<input type="button" value="Cancel" onclick="cancel();" ></input>
	</body>
</html>

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

GeolocationErrorCallback

获取设备位置信息失败的回调函数

void onError( error ) {
	// Handle error
}

说明:

获取设备位置信息失败的回调函数

参数:

  • error (DOMException) 可选 获取位置操作的错误信息

关键词: html5puls,Geolocation   编辑时间: 2015-03-23 23:14:47

  • 感到高兴

    0

    高兴
  • 感到支持

    0

    支持
  • 感到搞笑

    0

    搞笑
  • 感到不解

    0

    不解
  • 感到谎言

    0

    谎言
  • 感到枪稿

    0

    枪稿
  • 感到震惊

    0

    震惊
  • 感到无奈

    0

    无奈
  • 感到无聊

    0

    无聊
  • 感到反对

    0

    反对
  • 感到愤怒

    0

    愤怒
0%(0)
0%(0)
上一篇:Gallery
下一篇:IO
共有0 条评论 发言请遵守【相关规定

网友评论

会员头像
发 表同步腾讯微博    验证码:  点击更新请先登陆
  • 暂无评论
关闭模块文章图片 article Pictrue
  • 我的妈妈爸爸
  • 基于koa2+mysql+vue2.0+Element阳光内容管理系统
  • 代码覆盖率工具 Istanbul 入门教程
  • 全栈工程师的武器——MEAN
  • 9款超炫的 CSS3 复选框(Checkbox)
  • 微信开发在线翻译功能
  • CSS3那些不为人知的高级属性
  • 给easyui的datebox添加清空事件
  • flash写字效果
  • kendoUI系列教程之DropDownList下拉菜单
  • kendoUI系列教程之datetimepicker日期时间选择
  • kendoUI系列教程之datepicker日期选择
  • kendoUI系列教程之combobox下拉列表框
  • kendoUI系列教程之colorpicker
  • kendoUI系列教程之calendar日历表
  • kendoUI系列教程之autocomplete自动补齐