移动端h5定位

本文介绍了HTML5中的地理位置定位方法及其在APP中的应用,并详细解释了如何通过H5+实现GPS定位,包括获取经纬度及错误处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:H5定位(应用到app中有定位不准的情况)

 getLocation();//html5定位

 function getLocation(){   
               if (navigator.geolocation){
                    navigator.geolocation.getCurrentPosition(geo_success,geo_error); //成功方法,失败方法
                }else{
                    alert("不支持地理定位。");   

                } 

}

 function geo_success(position) {
                 //获取经纬度
                var polygon = position.coords.longitude+","+position.coords.latitude;
                //.....
            }
            function geo_error(error) {
               switch(error.code) {   
                    case error.PERMISSION_DENIED:   
                        mui.toast("获取商圈信息失败,请在设置中开启定位权限");   
                        break;   
                    case error.POSITION_UNAVAILABLE:   
                        mui.toast("获取商圈信息失败,位置信息是不可用");   
                        break;   
                    case error.TIMEOUT:   
                        mui.toast("获取商圈信息失败,请求获取用户位置超时");   
                        break;   
                    case error.UNKNOWN_ERROR:   
                        mui.toast("获取商圈信息失败,定位系统失效");   
                        break;   
                }
            }

二:GPS定位(大部分手机不用打开gps定位功能即可操作),使用到了H5+的方法

plus.geolocation.getCurrentPosition(getGPSInfo, function(e) {
                     if (e.code == 2) { //未开启GPS,则调用百度定位(有偏差)
                            var geolocation = new BMap.Geolocation();
                            geolocation.getCurrentPosition(function(r){
                                getLocation(r);
                            },{enableHighAccuracy: true});
                        }else{
                             mui.alert("为了给您提供更好的服务,请进入(设置→隐私→定位服务),打开服务","提示"); 
                        }
                    });

          //GPS定位
            function getGPSInfo(position){
                var codns = position.coords; //获取地理坐标信息;
                var xx = codns.longitude; //获取到当前位置的经度
                var yy = codns.latitude; //获取到当前位置的纬度;
               
            }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值