移动端geolocation插件+百度地图js获取地址

第一步:引入获取经纬度的插件

1 require("cordova!cordova-plugin-geolocation");// geo定位

第二步:定义好获取经纬度的方法,通过调用内部function用百度地图的API获取详细位置

Model.prototype.getGOOGLEAPI = function() {//方法定义不同框架有区别;使用请注意
        // 获取经纬度
        var itemScoreData = this.comp("itemScoreData");//这个data是一个前端对象
 var storage = window.localStorage;// 获取缓存对象
        navigator.geolocation.getCurrentPosition(successCallback, errorCallback);// 获取经纬度
        function successCallback(position) {
            var longitude= position.coords.latitude;// 经度
            var latitude = position.coords.longitude;// 纬度
     // URL
            var url = "http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=" +longitude+ "," +latitude + "&output=json&pois=1&ak=UcxbIt99PwqVOOYWTDbGZxHkHkSGrvYB"; // 这里的key可以拿去用

$.ajax({
                url : url,
                dataType : 'jsonp',
                processData : false,
                type : 'get',
                success : function(data) {
                    var sCity = data.result.formatted_address;// 城市区县
                    var sTown = data.result.business;//
                    var sdetailed = data.result.sematic_description;// 详细地址
                    
                    // 具体地址定位login
                    var slongadress = sCity + sTown + sdetailed;// 拼接地址
                    storage["Door_sLoginSaddreddss"] = slongadress;// 将完整地址存入缓存
                    itemScoreData.setValue("work_site", slongadress);//将详细信息封装进前端对象中
                },
                error : function(XMLHttpRequest, textStatus, errorThrown) {
                    util.hint("百度地图获取信息失败", {
                        "position" : "danger"
                    });
                }
            });
        }
        function errorCallback(position) {
            util.hint("获取经纬度失败", {
                "position" : "warning"
            });
        }
    };

 

第三步:调用getGOOGLEAPI()方法

这样子地址就获取到了

posted @ 2018-03-06 09:40  杜小二  阅读(352)  评论(0编辑  收藏  举报