Navigator.geolocation:
返回一个 'Geolocation' 对象
Geolocation - 获取用户设备位置。鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。同时,对于请求许可,不同浏览器有自己不同的策略和方法。
属性 - 无
方法:
Geolocation.getCurrentPostion(success[, error[, options]]) - 检查设备当前位置,并返回一个 'Position' 对象
success - 成功获取到设备位置后的回调函数,该函数有唯一参数 'Position' 对象
function (Position) {}
Position对象
属性:
Position.coords - 返回一个定位当前位置的 'Coordinates' 独享
Coordinates对象:
属性:
Coordinates.latitude - 十进制数的纬度
Coordinates.longitude - 十进制数的经度
Coordinates.altitude - 相对于水平面的海拔,以米为单位。如未实现,可为null
Coordinates.accuracy - 返回上面的维度和经度属性的精确度,以 '米' 表示
Coordinates.altitudeAccuracy - 上面的海拔的精确度,以 '米' 表示。如未实现,同样可为null
Coordinates.headding - "行进间(必须是运动的,静止返回NaN)" 设备的方向。以 '度' 为单位,表示是相对于正北方向多少度。0表示正北方向,以顺时针计算(意味着:东是90度,西是270度)。如果 speed=0,则 headding = NaN。如果设置不支持该属性,返回 null。
Coordinates.speed - 设备移动速度,以 '米/秒' 计算。可以为 null
Postion.timestamp - 定位当前位置时的时间,'DOMTimeStamp' 对象,单位是 '毫秒'
方法:
无
error - 获取位置失败后的回调函数,该函数有唯一参数 'PositionError' 对象
function (PositionError) {}
PositionError对象
属性:
PositionError.code - 返回正数的错误码,可能的值有:
1 - PERMISSION_DENIED - 因页面没有权限,获取地理位置信息失败
2 - POSITION_UNAVAILABLE - 因获取 'Position对象',内部至少出现一个错误,导致获取信息失败
3 - TIMEOUT - 获取地理位置信息超时。超时时间由 'PositionOptions.timeout' 来定义
PositionError.message - 返回人类友好的 'DOMString' 对象,来描述错误详情。(注意,这个主要用于调试,而不应该直接显示给用户,我们应该自定义错误信息显示)
options - 可选的 'PositionOptions' 对象
PositionOptions对象
属性:
PositionOptions.enableHighAccuracy - 设置为true,如果设置能提供更高的精确度,将会返回高精确度(例如,通过GPS定位,使定位更加准确,但是相应会更慢,消耗更多资源)。默认为 false.
PositionOptions.timeout - 设置超时时间,单位是 '毫秒'。默认值是 'Infinity - 无限大',意味着,未获取到正确|错误信息,不会返回结果(是不是会阻塞页面啊)
PositionOptions.maxinumAge - 位置缓存的最大时间,单位是 '毫秒'。设置为0,表示设备不使用缓存,每次都去检索设置的真实位置。如果设置为 'Infinity - 无限大',设备必须返回一个缓存的位置。默认值是0。
Geolocation.watchPosition(success[, error[, options]]) - 返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车上的 GPS)
注册一个处理器函数,每次设备位置改变,都会自动调用。返回一个 '监控ID',可以传递给 'clearWatch()' 来注销监控
其余参数,同 'Geolocation.getCurrentPostion()' 一致!
Geolocation.clearWatch(id) - 注销监控
js的navigator.geolocation的API笔记
最新推荐文章于 2025-06-15 17:19:36 发布