本插件利用百度地圖提供的定位功能進行Android版手機定位。
為什么沒有iOS版?
因為iOS版有官方的定位插件cordova-plugin-geolocation可以使用。
請參照:cordova-plugin-geolocation
Android版為什么不使用官方的cordova-plugin-geolocation插件
最新版的插件已經刪除掉的Android版定位的代碼,改為基於系統瀏覽器(chrome內核)進行定位。
為什么這樣做,也有人問過同樣的問題,作者的回答是這樣比原生定位更快更准確。
但經過測試后,發現根本無法定位,幾經調查發現跟貌似國內網絡有關系,原因相信大家都懂的,此過省略好幾個字。。。。
此插件就這么誕生了
版本
基於百度地圖Android版定位SDK(v5.3)
一,申請密鑰
請參照:申請密鑰Android定位SDK
二,安裝插件
ionic plugin add https://github.com/mrwutong/cordova-qdc-baidu-location --variable API_KEY="" **注:此處的API_KEY來自於第一步,不帶左右尖括號**
三,使用方法
// 進行定位 baidu_location.getCurrentPosition(successCallback, failedCallback);
獲得定位信息,返回JSON格式字符串數據:
{ latitude : 緯度, lontitude: 經度, ... }
如果要返回json對象我們可以修改插件里面的代碼 找到BaiduLocation.java
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, sb.toString());
改為
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, json);
返回數據
console.log("lontitude:" + data.lontitude); console.log("latitude:" + data.latitude); console.log("time:" + data.time); console.log("describe:" + data.describe);
四,查看當前安裝了哪些插件
cordova plugin ls
五,刪除插件
cordova plugin rm com.qdc.plugins.baidu.location
.