aMapNavi

来自于:开发者立即使用

addEventListener startNavi

概述

aMapNavi 模块封装了高德导航的sdk,支持语音导航功能,支持货车导航信息设置。开发者只需输入起点终点经纬度即可轻松集成高德导航功能,本模块是由第三方模块开发者提供,使用本模块需在线云编译安装包。(提交AppStore必读:本模块的高德导航基础包包含了IDFA,提交苹果审核时请参考高德处理IDFA官方文档)。

模块使用攻略

1、key的获取

用户在使用本模块之前需要获取高德地图API Key,Key 申请的具体流程请参照 申请Key。本模块需要的 key 可以和 aMapNavigation 、aMap、aMapLBS 、aMapLocation 、aMapReportLocation 模块的 key 共用。

2、config.xml配置信息如下:

  1. <feature name="aMapNavi">
  2. <param name="android_api_key" value="0477268b22822ea9b245abef9149ee35" />
  3. <param name="ios_api_key" value="81qz3dBYB5q2nGji4IYrawr1" />
  4. </feature>

3、后台定位权限

注意:使用本模块需配置 config.xml 文件 location 字段,获取后台定位权限。

配置实例:

  1. <preference name="backgroundMode" value="audio | location"/>

4、云编译权限

描述

固件要求

Android:4.0.0及以上 iOS:8.0及以上

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

addEventListener

打开导航后的一些事件监听

addEventListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. eventType: '', //字符串类型;导航事件,取值范围:
  3. //onStartNavi 启动导航后的回调
  4. //onCalculateRouteFailure 驾车路径规划失败后的回调
  5. //onLocationChange 当GPS位置有更新时的回调
  6. //onArriveDestination 到达目的地后回调
  7. type : 0,//-1:未开始导航 1:GPS导航 2:模拟导航
  8. location : {
  9. lat : 0,//纬度
  10. lng : 0,//经度
  11. speed : 0,//当前定位点的速度。单位:公里/时
  12. time : 0,//定位时间。
  13. },
  14. errorCode : 0,//0 环境初始化错误
  15. //2 网络超时或网络失败。
  16. //3 起点错误
  17. //4 请求协议非法。
  18. //6 终点错误
  19. //7 算路服务端编码失败
  20. //8 路径数据缺乏预览数据
  21. //9 Buf数据格式错误
  22. //10 起点没有找到道路。
  23. //11 终点没有找到道路
  24. //12 途径点没有找到道路
  25. //13 用户key非法或过期(请检查key是否正确)
  26. //14 请求服务不存在。
  27. //15 请求服务响应错误。
  28. //16 无权限访问此服务。
  29. //17 请求超出配额。
  30. //18 请求参数非法。
  31. //19 未知错误(可能是由于连接的网络无法访问外网)
  32. //20 起点/终点/途经点的距离太长(步行距离>100km,骑行距离>1200km)
  33. //21 途经点错误
  34. //22 MD5安全码未通过验证,需要开发者判定key绑定的SHA1,package是否与sdk包里的一致.
  35. //23 单位时间内访问过于频繁
  36. //24 请求中使用的key与绑定平台不符,例如:开发者申请的是js api的key,却用来调web服务接口
  37. //25 使用路径规划服务接口时可能出现该问题,规划点(包括起点、终点、途经点)不在中国陆地范围内
  38. //26 使用路径规划服务接口时可能出现该问题,路线计算失败,通常是由于道路起点和终点距离过长导致
  39. //27 无法躲避限行区域。
  40. //28 调用直接导航 没有算路 参数错误,缺失有效的导航路径,无法开始导航
  41. }

示例代码

  1. var demo = api.require('aMapNavi');
  2. demo.addEventListener(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

startNavi

开始导航

startNavi({params})

params

start:

  • 类型:JSON 对象
  • 描述:(可选项)起点信息。
  • 内部字段:
  1. {
  2. name : '三元桥', //名称
  3. lat: 34.556480000000015, //经纬度
  4. lng: 112.47723797622677, //经纬度
  5. poiId : '' //高德POIId
  6. }

wayPoint:

  • 类型:数组
  • 描述:(可选项)途经点位置信息,最多支持3条,请开发者自行控制。
  • 内部字段:

    1. [{
    2. name : '三元桥', //名称
    3. lat: 34.556480000000015, //经纬度
    4. lng: 112.47723797622677, //经纬度
    5. poiId : '' //高德POIId
    6. }]

end:

  • 类型:JSON 对象
  • 描述:(可选项)终点信息。
  • 内部字段:
  1. {
  2. name : '三元桥', //名称
  3. lat: 34.556480000000015, //经纬度
  4. lng: 112.47723797622677, //经纬度
  5. poiId : '' //高德POIId
  6. }

carInfo:

  • 类型:JSON 对象
  • 描述:(可选项)车辆信息。
  • 内部字段:
  1. {
  2. carType : 1,//设置车辆类型,0:小车; 1:货车. 默认0(小车).
  3. carNumber : '京DFZ239',//设置车辆的车牌号码. 如:京DFZ239,京ABZ239
  4. vehicleSize : 4, //设置货车的类型(大小),1:微型货车; 2:轻型/小型货车; 3:中型货车; 4:重型货车
  5. vehicleWidth : 2.1, //设置货车的宽度,范围:(0,5],单位:米
  6. vehicleHeight : 4, //设置货车的高度,范围:(0,10],单位:米
  7. vehicleLength : 25, //设置货车的长度,范围:(0,25],单位:米
  8. vehicleWeight : 99, ///设置货车的总重量,范围:(0,100],单位:吨. 注意:核定载重应小于总重量
  9. vehicleLoad : 100, //设置货车的核定载重,范围:(0,100],单位:吨. 注意:核定载重应小于总重量
  10. vehicleAxis : 6, //设置货车的轴数(用来计算过路费及限重)
  11. vehicleLoadSwitch : false, //true代表忽略,重量不会参与算路,false 不忽略,重量会参与算路,默认为false
  12. restriction : true //true代表躲避车辆限行,false代表不躲避车辆限行,默认为true
  13. }

theme:

  • 类型:数字型
  • 描述:(可选项)导航样式。(0:蓝色系 1:浅色系 2:暗色系)
  • 默认值:0

showExitNaviDialog:

  • 类型:布尔型
  • 描述:(可选项)设置退出导航组件是否显示退出弹框。(true 显示 false 不显示)
  • 默认值:true

示例代码

  1. var obj = api.require('aMapNavi');
  2. demo.startNavi({
  3. start: {
  4. name : '三元桥',
  5. lat: 34.556480000000015,
  6. lng: 112.47723797622677,
  7. poiId : ''
  8. },
  9. wayPoint: [{
  10. name : '北京站',
  11. lat: 33.43144,
  12. lng: 109.77539000000002,
  13. poiId : ''
  14. }],
  15. end: {
  16. name : '北京站',
  17. lat: 33.784214,
  18. lng: 111.57062599999995,
  19. poiId : ''
  20. },
  21. carInfo:{
  22. carType : 1,
  23. carNumber : '京DFZ239',
  24. vehicleSize : 4,
  25. vehicleWidth : 2.1,
  26. vehicleHeight : 4,
  27. vehicleLength : 25,
  28. vehicleWeight : 99,
  29. vehicleLoad : 100,
  30. vehicleAxis : 6,
  31. vehicleLoadSwitch : false,
  32. restriction : true
  33. },
  34. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本