获取当前位置坐标的方法:http://docs.wex5.com/cordova-plugin-geolocation/
旧版本的时候,定位插件依赖百度插件,Android 可以直接获取地理位置信息! 而ios只能获取GPS 的经纬度,需要将经纬度信息传递到后台,调用百度API获取位置信息!
而新版本Android也不能直接获取百度定位的信息了!应该ios一样的!还是需要将经纬度传递到后台action ,然后调用百度地图API获取地理位置信息!
参考:/Baas/justep/takeout.service.m
queryAddr
/Baas/justep/Takeout.java
看外卖案例提供的方法!传递经纬度到后台,获取地理位置的详细信息
或者js直接请求百度API
调用百度地图API
http://api.map.baidu.com/geocoder?location=” + lat + “,” + lon + “&output=json&key=8CmRzvUum1x3E40yCkfhwmMi”
可以通过经纬度进行位置检索,返回的数据有详细位置信息。
var me = this;
function successCallback(position) {
var lat = position.coords.latitude;//获取到纬度
var lon = position.coords.longitude;//获取到经度
var url = 'https://api.map.baidu.com/geocoder/v2/?ak=(这里填写一个key,需要去百度地图API申请一个key)&callback=renderReverse&location=' + lat + ',' + lon + '&output=json&pois=1';
$.ajax({
url : url,
dataType : 'jsonp',
processData : false,
type : 'get',
success : function(data) {
alert(data.result.formatted_address);
// 将获取到的定位信息,设置到output上显示
var addtext = data.result.formatted_address;
me.comp("output1").set("value", addtext);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus + "---");
}
});
}
function errorCallback(position) {
alert("失败");
}
navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
评一波