我正在开发的网站使用 HTML5 geolocation api。它工作正常,但我需要知道该功能是否已被授权。
navigator.geolocation
仅告知该功能是否可用。我想知道的是用户是否已经启用它。基本上,我需要知道浏览器是否会请求使用该功能的权限。是否可以?
问问题
3608 次
2 回答
6
如果用户不允许您的应用程序使用 Geolocation API 方法getCurrentPosition
并将watchPosition
通过错误回调返回 PositionError 对象:
void getCurrentPosition(successCallback,
errorCallback,
options);
long watchPosition(successCallback,
errorCallback,
options);
PositionError 看起来像:
PositionError {
code;
message;
};
其中代码的可能值为:
PositionError.PERMISSION_DENIED = 1;
PositionError.POSITION_UNAVAILABLE = 2;
PositionError.TIMEOUT = 3;
更具体的:
- PERMISSION_DENIED(数值 1)位置获取过程失败,因为文档没有使用 Geolocation API 的权限。
这里的文档。
于 2013-08-20T14:47:00.043 回答
3
没有检查永久授权。
恕我直言,您唯一可以做的就是尝试“猜测”用户是否已通过估计时间授权。
例如:
检索地理位置超过 1.5 秒 -> 可能用户必须单击界面并进行身份验证
少于 500 毫秒 -> 很确定用户已经提供了身份验证
于 2013-08-20T14:54:14.683 回答