aMapNavi 插件封装了高德导航的sdk,支持语音导航功能,支持货车导航信息设置。开发者只需输入起点终点经纬度即可轻松集成高德导航功能,本插件是由第三方插件开发者提供,使用本插件需在线应用打包安装包。(提交AppStore必读:本插件的高德导航基础包包含了IDFA,提交苹果审核时请参考高德处理IDFA官方文档)。
使用插件前,请先注册高德开放平台账号。
插件使用攻略
1、key的获取
用户在使用本插件之前需要获取高德地图API Key,Key 申请的具体流程请参照 申请Key。本插件需要的 key 可以和 aMapNavigation 、aMap、aMapLBS 、aMapLocation 、aMapReportLocation 插件的 key 共用。
2、config.xml配置信息如下:
<feature name="aMapNavi">
<param name="android_api_key" value="0477268b22822ea9b245abef9149ee35" />
<param name="ios_api_key" value="81qz3dBYB5q2nGji4IYrawr1" />
</feature>
3、后台定位权限
注意:使用本插件需配置 config.xml 文件 location 字段,获取后台定位权限。
配置实例:
<preference name="backgroundMode" value="audio | location"/>
4、应用打包权限:需要配置定位权限和定位服务权限。
5、安卓插件需要配合配套才能正常使用,如果不包含aMAp插件,则会出现异常配套插件下载 。
Android:4.0.0及以上 iOS:8.0及以上
打开导航后的一些事件监听
addEventListener(callback(ret))
ret:
{
eventType: '', //字符串类型;导航事件,取值范围:
//onStartNavi 启动导航后的回调
//onCalculateRouteFailure 驾车路径规划失败后的回调
//onLocationChange 当GPS位置有更新时的回调
//onArriveDestination 到达目的地后回调
type : 0,//-1:未开始导航 1:GPS导航 2:模拟导航
location : {
lat : 0,//纬度
lng : 0,//经度
speed : 0,//当前定位点的速度。单位:公里/时
time : 0,//定位时间。
},
errorCode : 0,//0 环境初始化错误
//2 网络超时或网络失败。
//3 起点错误
//4 请求协议非法。
//6 终点错误
//7 算路服务端编码失败
//8 路径数据缺乏预览数据
//9 Buf数据格式错误
//10 起点没有找到道路。
//11 终点没有找到道路
//12 途径点没有找到道路
//13 用户key非法或过期(请检查key是否正确)
//14 请求服务不存在。
//15 请求服务响应错误。
//16 无权限访问此服务。
//17 请求超出配额。
//18 请求参数非法。
//19 未知错误(可能是由于连接的网络无法访问外网)
//20 起点/终点/途经点的距离太长(步行距离>100km,骑行距离>1200km)
//21 途经点错误
//22 MD5安全码未通过验证,需要开发者判定key绑定的SHA1,package是否与sdk包里的一致.
//23 单位时间内访问过于频繁
//24 请求中使用的key与绑定平台不符,例如:开发者申请的是js api的key,却用来调web服务接口
//25 使用路径规划服务接口时可能出现该问题,规划点(包括起点、终点、途经点)不在中国陆地范围内
//26 使用路径规划服务接口时可能出现该问题,路线计算失败,通常是由于道路起点和终点距离过长导致
//27 无法躲避限行区域。
//28 调用直接导航 没有算路 参数错误,缺失有效的导航路径,无法开始导航
}
var demo = api.require('aMapNavi');
demo.addEventListener(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS、Android系统
可提供的1.0.0及更高版本
开始导航
startNavi({params})
start:
{
name : '三元桥', //名称
lat: 34.556480000000015, //经纬度
lng: 112.47723797622677, //经纬度
poiId : '' //高德POIId
}
wayPoint:
[{
name : '三元桥', //名称
lat: 34.556480000000015, //经纬度
lng: 112.47723797622677, //经纬度
poiId : '' //高德POIId
}]
end:
{
name : '三元桥', //名称
lat: 34.556480000000015, //经纬度
lng: 112.47723797622677, //经纬度
poiId : '' //高德POIId
}
carInfo:
{
carType : 1,//设置车辆类型,0:小车; 1:货车. 默认0(小车).
carNumber : '京DFZ239',//设置车辆的车牌号码. 如:京DFZ239,京ABZ239
vehicleSize : 4, //设置货车的类型(大小),1:微型货车; 2:轻型/小型货车; 3:中型货车; 4:重型货车
vehicleWidth : 2.1, //设置货车的宽度,范围:(0,5],单位:米
vehicleHeight : 4, //设置货车的高度,范围:(0,10],单位:米
vehicleLength : 25, //设置货车的长度,范围:(0,25],单位:米
vehicleWeight : 99, ///设置货车的总重量,范围:(0,100],单位:吨. 注意:核定载重应小于总重量
vehicleLoad : 100, //设置货车的核定载重,范围:(0,100],单位:吨. 注意:核定载重应小于总重量
vehicleAxis : 6, //设置货车的轴数(用来计算过路费及限重)
vehicleLoadSwitch : false, //true代表忽略,重量不会参与算路,false 不忽略,重量会参与算路,默认为false
restriction : true //true代表躲避车辆限行,false代表不躲避车辆限行,默认为true
}
theme:
showExitNaviDialog:
var obj = api.require('aMapNavi');
demo.startNavi({
start: {
name : '三元桥',
lat: 34.556480000000015,
lng: 112.47723797622677,
poiId : ''
},
wayPoint: [{
name : '北京站',
lat: 33.43144,
lng: 109.77539000000002,
poiId : ''
}],
end: {
name : '北京站',
lat: 33.784214,
lng: 111.57062599999995,
poiId : ''
},
carInfo:{
carType : 1,
carNumber : '京DFZ239',
vehicleSize : 4,
vehicleWidth : 2.1,
vehicleHeight : 4,
vehicleLength : 25,
vehicleWeight : 99,
vehicleLoad : 100,
vehicleAxis : 6,
vehicleLoadSwitch : false,
restriction : true
},
});
iOS、Android系统
可提供的1.0.0及更高版本
更新App是否显示隐私弹窗的状态,隐私弹窗是否包含高德SDK隐私协议内容的状态
updatePrivacyShow({params})
showStatus:
containStatus:
##ret:
{
status: true, //布尔型;true||false
}
var obj = api.require('aMapNavi');
var ret = demo.updatePrivacyShow({...});
iOS、Android系统
可提供的1.0.0及更高版本
更新用户授权高德SDK隐私协议状态
updatePrivacyAgree({params})
agreeStatus:
##ret:
{
status: true, //布尔型;true||false
}
var obj = api.require('aMapNavi');
var ret = demo.updatePrivacyAgree({...});
iOS、Android系统
可提供的1.0.0及更高版本