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、云编译权限

描述

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及更高版本