aMapNavi
来自于:开发者立即使用
概述
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、云编译权限
固件要求
Android:4.0.0及以上 iOS:8.0及以上
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
addEventListener
打开导航后的一些事件监听
addEventListener(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
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) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
startNavi
开始导航
startNavi({params})
params
start:
- 类型:JSON 对象
- 描述:(可选项)起点信息。
- 内部字段:
{
name : '三元桥', //名称
lat: 34.556480000000015, //经纬度
lng: 112.47723797622677, //经纬度
poiId : '' //高德POIId
}
wayPoint:
- 类型:数组
- 描述:(可选项)途经点位置信息,最多支持3条,请开发者自行控制。
内部字段:
[{
name : '三元桥', //名称
lat: 34.556480000000015, //经纬度
lng: 112.47723797622677, //经纬度
poiId : '' //高德POIId
}]
end:
- 类型:JSON 对象
- 描述:(可选项)终点信息。
- 内部字段:
{
name : '三元桥', //名称
lat: 34.556480000000015, //经纬度
lng: 112.47723797622677, //经纬度
poiId : '' //高德POIId
}
carInfo:
- 类型:JSON 对象
- 描述:(可选项)车辆信息。
- 内部字段:
{
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:
- 类型:数字型
- 描述:(可选项)导航样式。(0:蓝色系 1:浅色系 2:暗色系)
- 默认值:0
showExitNaviDialog:
- 类型:布尔型
- 描述:(可选项)设置退出导航组件是否显示退出弹框。(true 显示 false 不显示)
- 默认值:true
示例代码
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及更高版本