123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- // 创建app
- var app = new THING.App({
- url: '/api/scene/0b75dc5f4460f22c329afd96',
- // url: '/api/scene/ab93bd9640a9db05a4937351',
- background: 'https://www.thingjs.com/static/images/background_img_03.png'
- });
- //设备列表
- var buildingStore;
- $.ajax({
- type: "GET",
- url:'/uploads/wechat/163607/file/杨浦16/buildingStore.json',
- dataType: "json",
- async: false,
- success: function (data) {
- console.log(data)
- buildingStore = data.buildingStore
- }
- });
- app.camera.xAngleLimitRange = [0, 90];
- var campusUrl;//场景列表
- var dataObj = { progress: 0 }; // 场景加载进度条数据对象
- var loadingPanel; // 进度条界面组件
- var curCampus;//存放园区url路径
- var company_code;
- var buildingStore;
- var miniMapCtrl = null; // 小地图控件
- var webSocket;//webSocket
- var tileLayer1 = null; // 加入地图背景后选用的图层
- var box = null; // 鼠标点击第一人称行走按钮时,红色盒子提示
- var fpsCtrl = null; // 第一人称行走控件
- var cameraInitPos = null; // 进入第一人称行走前摄像机位置
- var fullScreenState = false; // 全屏
- var skyBox = null; // 天空盒
- var hiddenControlTimer = null; // 隐藏控制按钮计时器
- var showControlTimer = null; // 显示控制按钮计时器
- var cameraDistace = [];
- var building = null, mainPanle; // 建筑
- var restartTime = 5000; // 自动旋转停止后重启时间间隔
- var rotateTimer = null; // 自动旋转计时器
- //var baseURL = "http://47.103.74.123/ThingjsIcon/";
- var baseURL = "https://s3.ax1x.com/2021/01/28/";
- var filePath = '/uploads/wechat/5oiR5pyJ5pyA6ZW/55qE572R5ZCN5LiN5L+h5L2g5pWw5pWw/file/ScenePreview/';
- // 需要用到的外部文件
- var fileArr = [
- "https://www.layuicdn.com/layui/layui.js",
- 'https://www.layuicdn.com/layui/css/layui.css',
- filePath + 'assets/css/index.css', // 功能按钮样式文件
- filePath + 'assets/font-awesome-4.7.0/css/font-awesome.min.css', // 功能按钮字体样式
- filePath + 'assets/css/myAlert.css', // 弹出框样式
- filePath + 'assets/css/sweetalert2.min.css', // 弹出框样式
- filePath + 'assets/js/sweetalert2.all.min.js', // 弹出框脚本
- filePath + 'assets/js/myAlert.js', // 弹出框脚本
- filePath + 'assets/js/posTransform.js', // 不同坐标系经纬度互相转换的脚本文件
- filePath + 'assets/js/expandFloor.js', // 楼层展开脚本
- '/guide/lib/echarts.min.js',
- '/uploads/wechat/163607/file/杨浦16/removeMark.js',//清除标注脚本
- '/uploads/wechat/163607/file/杨浦16/UIAnchor.js',//UI界面脚本
- '/uploads/wechat/163607/file/杨浦16/FloorClick.js',//创建切换楼层脚本
- '/uploads/wechat/163607/file/杨浦16/MainPanel.js',//公共工具功能脚本
- '/uploads/wechat/163607/file/杨浦16/CreateHtml.js',//创建页面元素脚本
- '/uploads/wechat/163607/file/杨浦16/public.js',//公共场景功能脚本
- '/uploads/wechat/163607/file/杨浦16/ChangeScene.js',//场景切换脚本
- ];
- /**
- * 说明:加载外部文件
- */
- THING.Utils.dynamicLoad(fileArr, function () {
- app.on('load', function (ev) {
- skyBox = app.skyBox; // 获取天空盒
- app.level.change(ev.campus); // 切换至园区层级
- ev.campus.azimuth = '180';
- mainPanle = new MainPanel(app);// 界面的类
- // setupNavpanel();
- // creatFloorChoose(); //======================================本地数据测试===============================================
- // 获取园区在CampusBuilder编辑时保存的地理位置
- let tjsLnglat = app.root.defaultCampus.extraData;
- if (tjsLnglat != undefined && tjsLnglat != null) {
- tjsLnglat = tjsLnglat.coordinates;
- if (tjsLnglat != undefined && tjsLnglat != null) {
- tjsLnglat = tjsLnglat.split(",");
- }
- } else {
- ev.campus.extraData = { coordinates: "116.4641,39.98606" } // 园区绑定默认经纬度,地图才生效
- }
- createHtml(); // 创建html
- restarRotate(); // 自动旋转
- curCampus = ev.campus;
- // 进入层级切换
- app.level.change(ev.campus);
- });
- });
- // 监听建筑层级的 LeaveLevel 事件
- app.on(THING.EventType.LeaveLevel, ".Building", function (ev) {
- // 要进入的层级对象
- var current = ev.current;
- // 上一层级对象(退出的层级)
- var preObject = ev.previous;
- if (current.parent === preObject) {
- removeMark();
- }
- else {
- removeMark();
|