此plugin修改自 https://github.com/aruis/cordova-plugin-baidumaplocation,因与极光推送冲突故修改以下为原文:
百度地图定位Cordova插件,支持Android,IOS,ionic 1x 2x 均可使用
UPDATE:
- v4.0.2 修复Android Studio项目或新版本Cordova找不到so文件的问题
- v4.0.1 优化了ionic3x的兼容性,升级对应百度定位依赖库(v7.5@Android)
- v3.2.0 升级对应百度定位依赖库(v7.2@Android,v3.3.4@IOS)
ionic3_example
可以在此地址查看致谢: 本插件Android开发主要参考 cordova-qdc-baidu-location,感谢liangzhenghui;IOS开发主要参考cordova-plugin-bdlocation,感谢wilhantian
由于cordova-qdc-baidu-location明确表示没有IOS版,所以才有了重新开发一版兼容Android与IOS的想法。这样才能保证不同平台获取的坐标系是基于同一编码的,方便逻辑的统一性。
Android 版原作者mrwutong的话
Android版为什么不使用官方的_cordova-plugin-geolocation_插件
最新版的插件已经删除掉的Android版定位的代码,改为基于系统浏览器(chrome内核)进行定位。
为什么这样做,也有人问过同样的问题,作者的回答是这样比原生定位更快更准确。
但经过测试后,发现根本无法定位,几经调查发现跟貌似国内网络有关系,原因相信大家都懂的,此过省略好几个字。。。。
此插件就这么诞生了
零,版本
基于百度地图Android版定位SDK(v7.2)以及百度地图IOS SDK (v3.3.4)
一,申请Android及IOS版密钥
每一个AndroidManifest.xml 中的package属性 对应一个AK,不可混用
每一个Bundle Identifier 对应一个AK,不可混用
二,安装插件
cordova plugin add cordova-plugin-baidumaplocation --variable ANDROID_KEY="<API_KEY_ANDROID>" --variable IOS_KEY="<API_KEY_IOS>"# 此处的API_KEY_XX来自于第一步,直接替换<API_KEY_XX>,也可以最后跟 --save 参数,将插件信息保存到config.xml中 # 如果只需要Android端或者IOS端,可以只填写一个相应的AK,但是都不填肯定不行
三,使用方法
// 进行定位baidumap_location;
获得定位信息,返回JSON格式数据:
"time": "2017-02-25 17:30:00"//获取时间 "latitude": 346666666//纬度 "longitude": 1178888//经度 "radius": 619999999//半径 //--------Android 独享 begin "locType": 161//定位类型 "locTypeDescription": "NetWork location successful!"//定位类型解释 "userIndoorState": 1//是否室内 //--------Android 独享 end //--------IOS 独享 begin "title": "我的位置"//定位标注点标题信息 "subtitle": "我的位置"//定位标注点子标题信息 //--------IOS 独享 end
具体可参考如下截图
具体字段内容请参照:
如果Android版获取到的信息是:
说明Key有问题,可以检查下生成的AndroidManifest.xml文件里面是否有如下信息
如果没有,说明插件使用不当,尝试重新安装,如果有这些信息,说明Key与当前程序AndroidManifest.xml 中的package名不一致,请检查Key的申请信息是否正确
四,查看当前安装了哪些插件
cordova plugin ls
五,删除本插件
cordova plugin rm cordova-plugin-baidumaplocation