三维场景路径规划
ESMap路径规划功能支持在有导航数据的三维场景中,根据起点和终点规划最短路径的功能
第一步,创建导航对象实例(以下代码都要在三维场景加载完成后调用map.on('loadComplete')
//初始化导航对象
var navi = new esmap.ESNavigation({
map: map,
locationMarkerUrl: 'image/pointer.png', //定位标注图片地址
locationMarkerSize: 150, //定位标注尺寸大小
speed: 5, //模拟导航速度
maxEnd: 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.扶梯
maxEnd:1, //离终点1米时候就结束导航
tipDistance:3,//拐弯处提前多少米播报转弯语音
reRouteDis:10,//偏差10米就进行重新路径规划
linkStartEnd:false,//设置导航时起点终点是否连接导航线 默认是true
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,
showLevel:23 //配置起点图标的显示等级(一直显示,默认)
});
//确定终点
navi.setEndPoint({
x: coord.x,
y: coord.y,
fnum: fnum,
height: h,
url: 'image/end.png',
size: 64,
showLevel:23 //配置起点图标的显示等级(一直显示,默认)
});
第三步,调用导航对象画线函数,显示路径规划路线
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,代表路径规划成功和失败
});