html5如果用户拒绝获取经纬度,如何重新获取权限提示是不是允许获取经纬度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html5如果用户拒绝获取经纬度,如何重新获取权限提示是不是允许获取经纬度相关的知识,希望对你有一定的参考价值。

navigator.geolocation.getCurrentPosition(on_success, on_error, options);

获得地理位置

下面是函数on_success的写法示例。它有一个参数,你将最终通过这个函数获取到用户的位置。经纬度分别存在longitude和latitude变量中,同时还有精度、时间戳,以及一些其他额外信息:

function on_success(pos)
// 将会获得以下信息
var latitude = pos.coords.latitude;
var longitude = pos.coords.longitude;
var accuracy = pos.coords.accuracy;
var timestamp = pos.timestamp;
// 以下信息不一定提供,和具体设备有关
var altitude = pos.coords.altitude;
var altitudeAccuracy = pos.coords.altitudeAccuracy;
var heading = pos.coords.heading;
var speed = pos.coords.speed;

其中altitude、altitudeAccuracy、heading和speed则根据用户的终端不同,可能提供,可能为null。

错误处理

上面我们还有一个on_error。显然,如果用户不同意,那我们无法获得任何信息,这时候系统会自动调用这个函数。

function on_error(error)
console.log(error.message);
if (error.code == error.PERMISSION_DENIED)
console.log("User denied Geolocation.");
else // handle other cases...

其中error.code为一个枚举类型,可能的取值如下:

PERMISSION_DENIED:用户拒绝
POSITION_UNAVAILABLE:地理位置获取失败(可能是用户没网或卫星搜不到等原因)
TIMEOUT:地理位置获取超时
而error.message则为一个可以帮助开发者调试的错误信息(此信息一般不适合直接显示在网页中给用户查看)。
参考技术A 很多都具有GPS功能,所以很容易获得用户的地址。但是对于pc浏览器来说,没有gps的设备都是通过下面的方法来获得的。ip地址转换用户地址;使用无线网络的基站位置定位;Html5geolocation获得用户的经纬度,转换地址; 参考技术B 看一下,手机设置,有时候寻不到星,就获得不了经纬度。 参考技术C 你好,我也遇到同样问题。请问下楼主是如何解决的?

以上是关于html5如果用户拒绝获取经纬度,如何重新获取权限提示是不是允许获取经纬度的主要内容,如果未能解决你的问题,请参考以下文章

html5获取地理位置,如果用户拒绝了,之后每次加载都提示:拒绝获取地理位置,如何获取权限:如果用

html5获取地理位置,如果用户拒绝了,之后每次加载都提示:拒绝获取地理位置,如何获取权限:如果用

如果用户允许或拒绝获取当前位置,则重新加载 TableView 数据

Facebook Unity SDK 6.0 重新请求拒绝权限

如果之前未授予或拒绝权限,如何每次都询问活动开始的权限

呼叫需要权限,用户在尝试获取位置时可能会拒绝该权限