可以在此地址查看example
基于百度地图Android版定位SDK(v7.1)以及百度地图IOS SDK (v3.2.1)
申请密钥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版 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