html 页面定位失效,html5自动定位,总是定位失败,是什么原因,求指点,多谢...

本文探讨了HTML5自动定位功能在某些情况下失效的问题,并提供了一个使用百度地图API的替代方案。通过BMap.Geolocation()方法,可以获取用户的位置信息,但需注意用户权限设置的影响。如果用户拒绝授权,可通过判断accuracy值为null来识别。同时,文章列举了可能出现的各种错误状态码及其含义。
摘要由CSDN通过智能技术生成

html5自动定位失败,改用百度服务类提供的Geolocation()方法解决;

引入:

具体解决代码如下:

var geolocation = new BMap.Geolocation();

var gc = new BMap.Geocoder();

geolocation.getCurrentPosition( function(r) {

// 定位结果对象会传递给r变量

if(this.getStatus() == BMAP_STATUS_SUCCESS)

{

// 通过Geolocation类的getStatus()可以判断是否成功定位。

// 此时浏览器会弹窗提醒"想使用您当前的位置" -> “不允许” 或者 “好”;

// 然而用户选择“不允许” this.getStatus()返回 0;

// 用户选择 “好” this.getStatus() 也返回 0;

// 此时问题来了,如何知道用户选择的是哪一项呐?

// 解决办法:当用户拒绝该网站使用浏览器位置时,此时其精度则为null,通过此值判断用户是否拒绝网站获取浏览器位置信息

if(r.accuracy == null){

alert("用户拒绝了地理位置授权");

return;

}

// 用户允许地理位置授权,则走下面代码

var pt = r.point;

gc.getLocation(pt, function(rs){

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值