关于cordova 插件中关于百度定位插件的问题

前短时间出差所以都没有怎么写博客了

这周,总结了一下关于cordova插件中 --百度地图插件的问题;3

 

百度定位插件分类:

   现在关于百度定位插件有俩种类型    可连续定位和单次定位,并且插件可能存在关于平台兼容性的问题;

在这里为大家介绍一下相关的插件以及坑;

1.单次定位中  ---cordova-plugin-baidumaplocation,这个插件,是开发者基于二次开发出来的,特点是:兼容了android和ios,并且根据使用者反馈更新插件,缺点:并不支持连续定位,仅仅只能用于单次定位。当然如果你对于GPS控制ok,并且控制好时间,也可以通过setInterval,实现 类连续定位。但是不推荐!

2.连续定位中,我找了很多种,但是提供出来的很少,现在仅仅只接触到2种---1.cordova-baidu-location-master。特点:支持连续定位并且可以单次定位。缺点:仅仅支持android 平台,并且代码中没有关于通知用户授权地址服务的方法,此插件是2017年发布的,一直到现在都没有更新过了。

3.有位朋友帮我找到了比较新的可以连续定位并且可以单次定位,没有平台兼容性的插件 --cordova-plugin-geolocation-baidu 。此插件特点:具有连续定位,并且监听未知距离的特点。缺点:在安装插件的时候会有一系列的安装问题,比较麻烦,但是使用起来就特别容易了;

 

插件中的坑:

1.由于不同插件基于不同的平台,导致目录结构无法兼容。也就是有的插件只能使用 cordova7 有的只能使用cordova8.解决办法:可以查查百度,将部分目录结构复制一下就好

2.插件的安装步骤,一定需要先将平台删除,再安装插件!

3.当插件需要修改的时候,将插件单独脱离出来并修改后。将项目中原本插件删除后再将修改的插件引入即可

百度地图定位Cordova插件,支持Android,IOS 可以在此地址查看example 基于百度地图Android版定位SDK(v7.1)以及百度地图IOS SDK (v3.2.1) 一,申请Android及IOS版密钥 申请密钥Android定位SDK 每一个AndroidManifest.xml 的package属性 对应一个AK,不可混用 iOS SDK开发密钥 每一个Bundle Identifier 对应一个AK,不可混用 二,安装插件```` cordova plugin add cordova-plugin-baidumaplocation --variable ANDROID_KEY="" --variable IOS_KEY="" //此处的API_KEY_XX来自于第一步,直接替换,也可以最后跟 --save 参数,将插件信息保存到config.xml //如果只需要Android端或者IOS端,可以只填写一个相应的AK,但是都不填肯定不行 三,使用方法 // 进行定位 baidumap_location.getCurrentPosition(function (result) {     console.log(JSON.stringify(result, null, 4)); }, function (error) { }); 获得定位信息,返回JSON格式数据: {     "time": "2017-02-25 17:30:00",//获取时间     "latitude": 34.6666666,//纬度     "lontitude": 117.8888,//经度     "radius": 61.9999999,//半径     //--------Android 独享 begin     "locType": 161,//定位类型                                                 "locTypeDescription": "NetWork location successful!",//定位类型解释        "userIndoorState": 1,//是否室内                                          //--------Android 独享 end     //--------IOS 独享 begin     "title": "我的位置",//定位标注点标题信息     "subtitle": "我的位置",//定位标注点子标题信息     //--------IOS 独享 end } 具体字段内容请参照: Android版 BDLocation v7.1 IOS版 BMKUserLocation 如果Android版获取到的信息是: {     "locType": 505,     "locTypeDescription": "NetWork location failed because baidu location service check the key is unlegal, please check the key in AndroidManifest.xml !",     "latitude": 5e-324,     "lontitude": 5e-324,     "radius": 0,     "userIndoorState": -1,     "direction": -1 } 说明Key有问题,可以检查下生成的AndroidManifest.xml文件里面是否有如下信息                                                           如果没有,说明插件使用不当,尝试重新安装,如果有这些信息,说明Key与当前程序AndroidManifest.xml 的package名不一致,请检查Key的申请信息是否正确 四,查看当前安装了哪些插件 cordova plugin ls 五,删除本插件 cordova plugin rm cordova-plugin-baidumaplocation 标签:cordova
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值