获取当前位置坐标的方法: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);
评一波