E9定位重写

244 阅读1分钟

定位重写E9

em.getLocation({
    locationType: '', 
    timeout: 2, 
    success: function (res) {
    	alert(JSON.stringify(res))
    },
    fail: function (res) {
        alert(JSON.stringify(res)); 
    }
});
//高德api
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=4cb2435c46a93df6cca74737a1d5d269&plugin=AMap.Geocoder"></script>

//百度api
<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=2.0&ak=3c7ce3d96104cca8edbf4f7ec3758ae2"></script>
<script>
define("mApi/lbs4amap", ["mUtil", "amap"], function(mUtil) {    
var callbackStack = [];
// 	require(["mUtil"],function(mUtil){
	   return {
		getCurrPosition: function(callback, type){
		  //  alert(1);
			callbackStack.push(callback);
			function transformLL(longitude, latitude){
			    var parseResult = function(addr, addrComp){
			        callbackStack.forEach(function(cb) {
			            cb && cb({
	                        status: "1",
	                        errMsg: "",
	                        lng: longitude,//经度
	                        lat: latitude,//纬度
	                        addr: addr,//中文地址
	                        province: addrComp.province,//省份
	                        city: addrComp.city,//城市
	                        district: addrComp.district,//区
	                        street: addrComp.street,//街道
	                        streetNumber: addrComp.streetNumber//街道号码
	                    });
			        });
			        callbackStack = [];
			    };
			    AMap.plugin('AMap.Geocoder', function() {
                    var geocoder = new AMap.Geocoder();
                    geocoder.getAddress([longitude, latitude], function(status, rs) {
                        rs = rs.regeocode || {};
                        parseResult(rs.formattedAddress, rs.addressComponent || {});
                    })
                });
			}		
if(mUtil.checkEmpJsApi("getLocation")){//e9移动平台
		    AMap.plugin('AMap.Geolocation', function() {
                var geolocation = new AMap.Geolocation({
                    enableHighAccuracy: true//是否使用高精度定位,默认:true
                });
                geolocation.getCurrentPosition(function(status,result){
                    if(status === 'complete'){
                        transformLL(result.position.P, result.position.O);
                    }else{
                        mUtil.console.error(result.message);
                    }
                });
            });
        }else if(mUtil.runtime.isEmobile6()){//em6
        // alert(3);
    		window.getLBSResult = function(result){
    			var arr = result.split(",");
				var longitude = arr[2];
				var latitude = arr[1];
				transformLL(longitude, latitude);
    		};
    		location = "emobile:gps:getLBSResult";
    	}else if(typeof(eb_GetLocation) != "undefined" && mUtil.isFunction(eb_GetLocation)){//云桥
    // 		alert(4);
    		window.getLBSResult = function(longitude, latitude){
    			transformLL(longitude, latitude);
    		};
    		eb_GetLocation("getLBSResult");
    	}else{//浏览器
    // 	alert(5);
    	    AMap.plugin('AMap.Geolocation', function() {
                var geolocation = new AMap.Geolocation({
                    enableHighAccuracy: true//是否使用高精度定位,默认:true
                });
                geolocation.getCurrentPosition(function(status,result){
                    if(status === 'complete'){
                        transformLL(result.position.P, result.position.O);
                    }else{
                        mUtil.console.error(result.message);
                    }
                });
            });
    	}
    }
}; 
    // 	});
	
});
</script>