|
@@ -167,3 +167,170 @@ function registerEvent() {
|
|
// 设置按钮点击事件,按钮的tip与功能面板的互相切换
|
|
// 设置按钮点击事件,按钮的tip与功能面板的互相切换
|
|
$('#sceneSetting').on('click', function () {
|
|
$('#sceneSetting').on('click', function () {
|
|
checkBtnActives(['#mapBg']);
|
|
checkBtnActives(['#mapBg']);
|
|
|
|
+ if ($(this).hasClass('active')) {
|
|
|
|
+ $(this).removeClass('active');
|
|
|
|
+ $(this).children('.control-menu').removeClass('actives');
|
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "visible" });
|
|
|
|
+ } else {
|
|
|
|
+ $(this).addClass('active');
|
|
|
|
+ $(this).children('.control-menu').addClass('actives');
|
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "hidden" });
|
|
|
|
+ }
|
|
|
|
+ }).hover(function () {
|
|
|
|
+ if (!$(this).hasClass('active')) {
|
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "visible" });
|
|
|
|
+ }
|
|
|
|
+ }, function () {
|
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "hidden" });
|
|
|
|
+ });
|
|
|
|
+ // 设置li标签添加点击事件
|
|
|
|
+ $('#sceneSetting .control-menu-pane li').on('click', function (ev) {
|
|
|
|
+ //ev.stopPropagation();
|
|
|
|
+ if ($(this).hasClass('selected')) {
|
|
|
|
+ stopRotate();
|
|
|
|
+ $(this).removeClass('selected');
|
|
|
|
+ } else {
|
|
|
|
+ $(this).addClass('selected');
|
|
|
|
+ restarRotate();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ // 小地图的开启/关闭按钮的鼠标点击事件
|
|
|
|
+ $('#miniMap').on('click', function () {
|
|
|
|
+ if ($(this).hasClass('active')) {
|
|
|
|
+ $(this).removeClass('active');
|
|
|
|
+ destoryMiniMap();
|
|
|
|
+ } else {
|
|
|
|
+ $(this).addClass('active');
|
|
|
|
+ createMiniMap();
|
|
|
|
+ }
|
|
|
|
+ checkBtnActives(['#mapBg', '#sceneSetting']);
|
|
|
|
+ });
|
|
|
|
+ // 地图背景的开启/关闭按钮的鼠标点击事件,按钮的tip与功能面板的互相切换
|
|
|
|
+ $('#mapBg').on('click', function () {
|
|
|
|
+ checkBtnActives(['#sceneSetting']);
|
|
|
|
+ if ($(this).hasClass('active')) {
|
|
|
|
+ $(this).removeClass('active');
|
|
|
|
+ $(this).children('.control-menu').removeClass('actives');
|
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "visible" });
|
|
|
|
+ } else {
|
|
|
|
+ $(this).addClass('active');
|
|
|
|
+ $(this).children('.control-menu').addClass('actives');
|
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "hidden" });
|
|
|
|
+ }
|
|
|
|
+ }).hover(function () {
|
|
|
|
+ if (!$(this).hasClass('active')) {
|
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "visible" });
|
|
|
|
+ }
|
|
|
|
+ }, function () {
|
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "hidden" });
|
|
|
|
+ });
|
|
|
|
+ // 进入层级事件
|
|
|
|
+ app.on(THING.EventType.EnterLevel, function (ev) {
|
|
|
|
+ stopRotate();
|
|
|
|
+ // 进入建筑层级
|
|
|
|
+ if (ev.object.type == 'Building') {
|
|
|
|
+ //清除设备列表和面板
|
|
|
|
+ _this.delMydiv();
|
|
|
|
+ _this.destroy_ui();
|
|
|
|
+ let floors = ev.object.floors;
|
|
|
|
+ if (floors.length > 1) {
|
|
|
|
+ building = ev.object;
|
|
|
|
+ addFloorPos(building);
|
|
|
|
+ let expandState = building.getAttribute('expandState');
|
|
|
|
+ if (expandState == null) {
|
|
|
|
+ building.setAttribute('expandState', 'close');
|
|
|
|
+ }
|
|
|
|
+ $('#horizontalExpansion').css({ 'display': 'block' });
|
|
|
|
+ $('#verticalExpansion').css({ 'display': 'block' });
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ $('#horizontalExpansion').css({ 'display': 'none' });
|
|
|
|
+ $('#verticalExpansion').css({ 'display': 'none' });
|
|
|
|
+ // 进入园区层级
|
|
|
|
+ if (ev.object.type == 'Campus') {
|
|
|
|
+ if (building != null) {
|
|
|
|
+ exitBuildingCloseFloor(building);
|
|
|
|
+ $('#horizontalExpansion').removeClass('active');
|
|
|
|
+ $('#verticalExpansion').removeClass('active');
|
|
|
|
+ building = null;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (skyBox != null) {
|
|
|
|
+ app.skyBox = skyBox;
|
|
|
|
+ }
|
|
|
|
+ // 重新创建小地图
|
|
|
|
+ if ($('#miniMap').hasClass('active')) {
|
|
|
|
+ destoryMiniMap();
|
|
|
|
+ createMiniMap();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ // 行走按钮的鼠标点击事件
|
|
|
|
+ $('#moveByFps').on('click', function () {
|
|
|
|
+ stopRotate();
|
|
|
|
+ if ($(this).hasClass('active')) {
|
|
|
|
+ $(this).removeClass('active');
|
|
|
|
+ if (box != null) {
|
|
|
|
+ // 恢复默认双击进入层级事件
|
|
|
|
+ app.resumeEvent(THING.EventType.DBLClick, '*', THING.EventTag.LevelEnterOperation);
|
|
|
|
+ // 恢复默认右键退出层级事件
|
|
|
|
+ app.resumeEvent(THING.EventType.Click, '*', THING.EventTag.LevelBackOperation);
|
|
|
|
+ box.destroy();
|
|
|
|
+ box = null;
|
|
|
|
+ }
|
|
|
|
+ if (fpsCtrl != null) {
|
|
|
|
+ exitFps();
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ $(this).addClass('active');
|
|
|
|
+ // 禁用默认双击进入层级事件
|
|
|
|
+ app.pauseEvent(THING.EventType.DBLClick, '*', THING.EventTag.LevelEnterOperation);
|
|
|
|
+ // 禁用默认右键退出层级事件
|
|
|
|
+ app.pauseEvent(THING.EventType.Click, '*', THING.EventTag.LevelBackOperation);
|
|
|
|
+ // 记录摄像机当前位置
|
|
|
|
+ cameraInitPos = [app.camera.position, app.camera.target];
|
|
|
|
+ createBox();
|
|
|
|
+ }
|
|
|
|
+ checkBtnActives(['#mapBg', '#sceneSetting']);
|
|
|
|
+ });
|
|
|
|
+ // 全屏按钮的鼠标抬起事件
|
|
|
|
+ $('#fullScreen').mouseup(function () {
|
|
|
|
+ if (!fullScreenState) {
|
|
|
|
+ $('.btn-full-screen').css('display', 'none');
|
|
|
|
+ $('.btn-narrow').css('display', 'block');
|
|
|
|
+ $('#fullScreen span').text('退出全屏');
|
|
|
|
+ fullScreen();
|
|
|
|
+ fullScreenState = true;
|
|
|
|
+ } else {
|
|
|
|
+ $('.btn-full-screen').css('display', 'block');
|
|
|
|
+ $('.btn-narrow').css('display', 'none');
|
|
|
|
+ $('#fullScreen span').text('全屏');
|
|
|
|
+ exitFullScreen();
|
|
|
|
+ fullScreenState = false;
|
|
|
|
+ if ($('#mapBg').hasClass('active')) {
|
|
|
|
+ destoryMiniMap();
|
|
|
|
+ createMiniMap();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ checkBtnActives(['#mapBg', '#sceneSetting']);
|
|
|
|
+ });
|
|
|
|
+ // 鼠标键按下事件,功能按钮隐藏
|
|
|
|
+ app.on(THING.EventType.MouseDown, function () {
|
|
|
|
+ app.pauseEvent(THING.EventType.CameraZoom, null, '摄像机前后滚动,功能图片隐藏');
|
|
|
|
+ if (showControlTimer != null) {
|
|
|
|
+ clearTimeout(showControlTimer);
|
|
|
|
+ showControlTimer = null;
|
|
|
|
+ }
|
|
|
|
+ stopRotate();
|
|
|
|
+ if (hiddenControlTimer == null) {
|
|
|
|
+ clearTimeout(showControlTimer);
|
|
|
|
+ hiddenControlTimer = setTimeout(function () {
|
|
|
|
+ $('#all-controls').css('display', 'none');
|
|
|
|
+ clearTimeout(hiddenControlTimer);
|
|
|
|
+ hiddenControlTimer = null;
|
|
|
|
+ }, 300);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ // 鼠标键抬起事件,功能按钮显示
|
|
|
|
+ app.on(THING.EventType.MouseUp, function () {
|
|
|
|
+ app.resumeEvent(THING.EventType.CameraZoom, null, '摄像机前后滚动,功能图片隐藏');
|