三维可视化场景事件 ESMapSDK有着丰富完善的事件管理机制,您几乎可以对三维场景的任何改变得到反馈

特效包初始化完成事件

map.on('effectsInitComplete', function () {
                            
});

三维场景初始化完成事件

map.on('loadComplete', function () {
            
});

瓦片底图初始化完成事件

map.on('tileMapInitComplete', function () {

});

模型加载完成事件

map.on('modelLoadedAll', function () {
            
});

室内建筑加载完成事件

map.on('buildingLoadComplete', function (building) {
    console.log(building)  // 获取到加载完成的室内建筑building
});

所有建筑关闭事件(城市三维场景模式)

map.on('closeAllBuildings', function () {
                    
});

瓦片更新事件

map.on('tileUpdated', function () {
            
});

点击事件

Tip: event.nodeType对应 esmap.ESNodeType 三维场景组件类型

map.on('mapClickNode', function(event) {
    console.log(event);     // 此处打印处如上图(比如点击中房间)所示的调试信息
});

缩放级别事件

map.on('scaleLevelChanged', function (e) {
    
});

三维场景状态更新事件

map.on('update', function (e) {
    // 三维动画效果使用此事件
});

聚焦楼层改变事件

map.on('focusFloorNumChanged', function (e) {
            
});

每一楼层加载完成事件

map.on('floorLoaded', function (e) {
    console.log('第'+ e +'层加载完毕')
});

三维场景可见楼层改变事件

map.on('visibleFloorNumsChanged', function (e) {
            
});

三维场景鼠标长按事件(收费功能)

map.on('mapKeepPress', function (e) {
    // 可以用来做marker选中后的移动操作
});

三维场景鼠标移入事件

map.on('onOver', function (e) {
    // 鼠标移入后用来显示提示文字信息操作
});
// 鼠标移入移出需要动态发射射线,非常耗性能,一般情况下不开
// 需要配置三维场景初始化里面参数editMode: true

三维场景鼠标移入移出事件

// 初始化时editMode和hoverMode要设置为true
var map = new esmap.ESMap({
    editMode: true,
    hoverMode: true
});

map.on('onLeave', function (e) {
    // 鼠标移除
});
map.on('onOver', function (e) {
    // 鼠标移入
});
// 鼠标移入移出需要动态发射射线,非常耗性能,一般情况下不开
// 需要配置三维场景初始化里面参数editMode: true

指南针点击事件

map.on('compassClick', function () {
            // 点击指南针后的事件
});

监听导航规划结果事件

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

框选回调事件

map.mapPicker.BoxPicker.pickType = 'all';  // 框选三维场景元素类型 all:框选所有对象 其他类型是点击三维场景元素返回的nodeType值 如模型:esmap.ESNodeType.MODEL3D
    map.mapPicker.enableBoxPick = true;        // true开启框选功能 false关闭
    map.on('mapBoxSelected',function(e){
    console.log(e);     // e参数返回框选指定类型的数据列表
}); 

鼠标开始操作三维场景事件

map.on('controlstart', function () {
                
});

鼠标结束操作三维场景事件

map.on('controlend', function (building) {
            
});

三维场景 二维/三维切换事件

map.on('viewModeChanged', function(e) {
console.log(e); 
});