三维场景事件
ESMapSDK有着丰富完善的事件管理机制,您几乎可以对三维场景的任何改变得到反馈
三维场景加载完成事件
map.on('loadComplete', function () {
});
模型加载完成事件
map.on('modelLoadedAll', function () {
//初始化模型加载完成后进入,上层每添加一个模型进入一次
});
点击返回事件
map.on('mapClickNode', function(event) {
console.log(event);//此处打印处如上图(比如点击中房间)所示的调试信息
if (event.nodeType == esmap.ESNodeType.NONE || event.nodeType == esmap.ESNodeType.FLOOR) return;
var model = event;
if (!startPick) return;
if(event.nodeType != esmap.ESNodeType.MODEL)
model.o3d_.flash({
scale: 1.3,
time: 0.3
}); //闪烁
switch (event.nodeType) {
case esmap.ESNodeType.MODEL: //返回房间信息
map.storeSelect(model);//高亮
break;
case esmap.ESNodeType.TEXT_MARKER: //返回文字POI信息
break;
case esmap.ESNodeType.FACILITY: //返回图片POI信息
break;
case esmap.ESNodeType.IMAGE_MARKER: //返回自写定义的图片信息
break;
case esmap.ESNodeType.MODEL3D: //返回三维模型信息
break;
case esmap.ESNodeType.LINE: //返回线信息
break;
}
});
缩放级别事件
map.on('scaleLevelChanged', function (e) {
});
三维场景状态更新事件
map.on('update', function (e) {
//三维动画效果使用此事件
});
三维场景鼠标长按事件(收费功能)
map.on('mapKeepPress', function (e) {
//可以用来做marker选中后的移动操作
});
三维场景鼠标移入事件
map.on('onOver', function (e) {
//鼠标移入后用来显示提示文字信息操作
});
//鼠标移入移出需要动态发射射线,非常耗性能,一般情况下不开
//需要配置三维场景初始化里面参数editMode:true
三维场景鼠标移出事件
map.on('onLeave', function (e) {
//鼠标移出后用来取消提示文字信息操作
});
//鼠标移入移出需要动态发射射线,非常耗性能,一般情况下不开
//需要配置三维场景初始化里面参数editMode:true
监听导航规划结果事件
navi.on("checkStatus",function(e){
console.log(e);//e参数返回1和0,代表路径规划成功和失败
});