This page was saved using WebZIP 7.0.3.1030 offline browser on 12/24/13 11:31:37.
Address: https://crxdoc-zh.appspot.com/extensions/location.html
Title: chrome.location - Google Chrome 扩展程序开发文档(非官方中文版)  •  Size: 41156

该 API 还是实验性的,仅对 dev 分支的 Chrome 用户可用。

chrome.location

描述 使用 chrome.location API 获取计算机的地理位置。该 API 是 HTML 地理定位 API 的另一种版本,与事件页面兼容。
可用版本 仅用于 Dev 分支。
权限 "location"

概述

要开始接收位置信息,您需要调用 watchLocation 监视位置,通过 requestInfo 参数传递位置监视详情:

chrome.location.watchLocation(name, requestInfo);

您还需要为 onLocationUpdate 事件添加一个监听器。在您开始位置监视后,Chrome 浏览器会产生该事件,并且每一次主机的地理位置更改时,还会产生该事件,直到您调用 clearWatch 为止。

如下是监听位置更新的示例代码:

  chrome.location.onLocationUpdate.addListener(function(position) {
    console.log(JSON.stringify(position));
  });

chrome.location 参考

方法

watchLocation

chrome.location.watchLocation(string name, object requestInfo)

开始位置监视请求。如果已经有相同名称(或者没有指定的话则没有名称)的位置监视请求,它将会被取消并由这一请求替代。

参数

name ( string )

标识本次请求的可选名称,默认为空字符串。

requestInfo ( object )

本次请求的可选参数。

属性

minDistanceInMeters ( optional double )

两次位置更新之间的最小距离,以米为单位,默认为 0,即报告所有位置的改变。

minTimeInMilliseconds ( optional double )

两次位置更新之间的最小时间间隔,以毫秒为单位,默认为 0,使用系统定义的更新频率。

maximumAge ( optional integer )

Chrome 浏览器传递给本次位置监视的请求第一个 onLocationUpdate 事件的位置缓存的最长时间,以毫秒为单位。如果这一值小于或等于零,则 Chrome 浏览器随时会尝试获取新位置。默认为 0。

clearWatch

chrome.location.clearWatch(string name)

结束位置监视请求。

参数

name ( string )

表示要结束的请求名称,默认为空字符串。

事件

onLocationUpdate

检测到位置更改时产生。

addListener

chrome.location.onLocationUpdate.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function(object location) {...};

location ( object )

包含匹配的事件及新位置。

属性

name ( string )

位置监视请求名称。

coords ( object )

坐标及其精度。

属性

latitude ( double )

地理纬度,以度为单位。

longitude ( double )

地理经度,以度为单位。

altitude ( optional double )

位置的高度,以 [WGS84] 椭球面上多少米表示。如果 Chrome 浏览器无法提供 高度信息则为 null。

accuracy ( double )

纬度和经度坐标的精度,以米为单位,表示以指定位置为圆心的圆的半径。

altitudeAccuracy ( optional double )

altitude 属性的精度,以米为单位。如果 altitude 为 null 则该属性也为 null。

heading ( optional double )

主机设备的方向,以度为单位,且 0 <= heading <= 360,相对于真北以顺时针方向计算。如果 Chrome 浏览器无法提供方向信息,该属性的值为 null。如果主机设备处于静止状态(即 speed 属性为 0),则该属性的值为 NaN。

speed ( optional double )

主机设备当前速度的水平分量大小,单位为米每秒。如果 Chrome 浏览器无法提供速度信息,该属性的值为 null。

timestamp ( double )

获取 Location 对象的事件,表示为 1970 年 1 月 1 日以来所经过的毫秒数。

onLocationError

无法检测位置时产生。

addListener

chrome.location.onLocationError.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function(string error) {...};

error ( string )

可读的错误描述。