笔迹
笔迹
  • 发布:2015-05-16 00:12
  • 更新:2018-12-19 10:04
  • 阅读:11208

[笔记] 百度定位,地址变更提醒

分类:HTML5+
//-----------------定位 Start----------------  
        mui.plusReady(function() {  
            var localtitle = document.getElementById("local");  
            var db_lo = plus.storage.getItem("local")  
            if (db_lo == null) {  
                try {  
                    plus.nativeUI.showWaiting("首次登录,正在定位...", {  
                        padlock: false  
                    });  
                    plus.geolocation.getCurrentPosition(function(position) {  
                        var codns = position.coords; //获取地理坐标信息;  
                        var geoc = new BMap.Geocoder();  
                        var pt = new BMap.Point(codns.longitude, codns.latitude);  
                        geoc.getLocation(pt, function(rs) {  
                            var addComp = rs.addressComponents;  
                            var lo = addComp.city + "," + addComp.district + "," + addComp.street + "," + addComp.streetNumber;  
                            localtitle.innerHTML = addComp.district;  
                            plus.storage.setItem("local", addComp.district);  
                            console.log(lo);  
                            plus.nativeUI.closeWaiting();  
                        });  
                    }, function(e) {  
                        alert("获取定位位置信息失败:" + e.message);  
                        plus.nativeUI.closeWaiting();  
                    }, {  
                        provider: 'baidu'  
                    });  
                } catch (e) {  
                    alert(e.message);  
                    plus.nativeUI.closeWaiting();  
                }  
            } else {  
                localtitle.innerHTML = db_lo;  
                plus.geolocation.getCurrentPosition(function(position) {  
                    var codns = position.coords; //获取地理坐标信息;  
                    var geoc = new BMap.Geocoder();  
                    var pt = new BMap.Point(codns.longitude, codns.latitude);  
                    geoc.getLocation(pt, function(rs) {  
                        var addComp = rs.addressComponents;  
                        if (addComp.district != db_lo) {  
                            mui.confirm('发现地址变化,当前为:' + addComp.district + '\r\n是否切换?', '位置变更', ['是', '否'], function(e) {  
                                if (e.index == 0) {  
                                    plus.storage.setItem("local", addComp.district);  
                                    localtitle.innerHTML = addComp.district;  
                                }  
                            })  
                        }  
                    })  
                });  
            }  
        });  
         //-----------------定位 End----------------
2 关注 分享
王老吉 8***@qq.com

要回复文章请先登录注册

5***@qq.com

5***@qq.com

回复 距离您98米 :
这个问题你解决了?
2018-12-19 10:04
距离您98米

距离您98米

[ERROR] : SyntaxError: Unexpected token '<'
filename:http://www.baidu.com/search/error.html
lineno:1
[ERROR] : ReferenceError: Can't find variable: BMap 有时候报这个错
2017-06-19 09:59
距离您98米

距离您98米

定位偏差啊,怎么解决?
2017-06-12 14:57
距离您98米

距离您98米

这个代码,高德地图能用吗?
2017-06-12 12:23
王老吉

王老吉

十分感谢!!
2017-04-28 17:29
云钦

云钦

不太准,不知该怎么矫正或者其他方法正确些
2016-04-05 16:27
小云菜

小云菜

哎,提示也不给全,害了我找了好长时间 BMap() 是哪里来的。
最后查到居然是使用webapi接口,页面要引用相关js的
http://developer.baidu.com/map/index.php?title=jspopular/guide/helloworld
2015-05-26 16:02
笔迹

笔迹 (作者)

回复 太阳光 :
谢谢~~,这就去改
2015-05-24 16:12
太阳光

太阳光

代码可改进下,先获取百度位置。再判断有没有旧地址及是否提醒更换。这样至少可减少1/3代码
2015-05-18 14:25