本插件利用百度地图提供的定位功能进行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
.