您现在的位置: 首页 > 城市三维场景SDK开发 > 开发指南


三维场景事件 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,代表路径规划成功和失败
});