您现在的位置: 首页 > SDK开发 > 开发指南


地图路径规划 ESMap路径规划功能支持在有导航数据的地图中,根据起点和终点规划最短路径的功能 routeAnalysis

第一步,创建导航对象实例(以下代码都要在地图加载完成后调用map.on('loadComplete')


//初始化导航对象
var navi = new esmap.ESNavigation({
    map: map,
    locationMarkerUrl: 'image/pointer.png',   //定位标注图片地址
    locationMarkerSize: 150,    //定位标注尺寸大小
    speed: 5,   //模拟导航速度
    followAngle: true,  //地图是否跟随旋转
    followPosition: true,  //地图视角是否跟随位置
    followGap:3,      //导航视角跟随间隔(单位:/s)
    tiltAngle: 30,   //模拟导航时的倾斜角
    audioPlay:true,  //是否开启语音播报
    // scaleLevel:0,   //模拟导航时的放大等级
    // mode:2,         //mode=1:人行(默认),mode=2:车行
    offsetHeight: 1,    //定位标注的高度
    ladderType:1,  //跨层方案选择。1:距离最近(默认),2:电梯 3.楼梯 4.扶梯
    lineStyle: {   //路径规划线样式配置
        color: '#33cc61',
        //设置线为导航线样式
        lineType: esmap.ESLineType.ESARROW,
        // lineType: esmap.ESLineType.FULL,            
        lineWidth: 6,		// 设置导航线的宽度
        offsetHeight: 0.5,	// 设置导航线的高度
        smooth: true,		// 设置导航线的转角线平滑效果
        seeThrough: false,	// 设置导航线的穿透楼层地板总是显示的效果
        noAnimate: false	// 设置导航线的动画效果
        //设置边线的颜色   
        // godEdgeColor: '#920000'
        //设置箭头颜色
        // godArrowColor: "#ff0000"
        },
});

第二步,确定起点和终点


//确定起点
navi.setStartPoint({
    x: coord.x,
    y: coord.y,
    fnum: fnum,
    height: h,
    url: 'image/start.png',
    size: 64
});
//确定终点
navi.setEndPoint({
    x: coord.x,
    y: coord.y,
    fnum: fnum,
    height: h,
    url: 'image/end.png',
    size: 64
});

第三步,调用导航对象画线函数,显示路径规划路线


navi.drawNaviLine();

高级功能

获取地图里面所有导航点线数据


var allroad_data = map.naviData;

获取路径规划结果集合


var roads = navi.outcome;

获取路径规划提示信息


var prompt = navi.naviDescriptions;

监听导航规划结果事件


navi.on("checkStatus",function(e){
    console.log(e);//e参数返回1和0,代表路径规划成功和失败
});