var _interfaceDocUrl="http://xzcamp.xfzn365.com/",//其他接口 _interfaceMhUrl="",//摄像头 _interfaceImgUrl = "",//图片前缀 _interfaceDjUrl = "/political";//党建接口 var _orgId = ""; var _pId = ""; var _layer; var _cesium,_viewer; var _ScreenSpaceEventHandler;//屏幕空间事件处理程序 var _promise = ""; var _flyManager = null; var _flyInitialPerspective; /** * 初始化 supermap */ function onload(Cesium) { _cesium = Cesium; _viewer = new Cesium.Viewer('earth', { navigation: true }); var widget = _viewer.cesiumWidget; try { _viewer.imageryLayers.addImageryProvider(new Cesium.TiandituImageryProvider({ token: URL_CONFIG.TOKEN_TIANDITU })); var imageryLayers = _viewer.imageryLayers; //初始化天地图全球中文注记服务,并添加至影像图层 var labelImagery = new Cesium.TiandituImageryProvider({ mapStyle : Cesium.TiandituMapsStyle.CIA_C, //天地图全球中文注记服务(经纬度投影) token: URL_CONFIG.TOKEN_TIANDITU }); imageryLayers.addImageryProvider(labelImagery); _viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(_cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK); _ScreenSpaceEventHandler = new this._cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas); _myDataCustomDataSource = new this._cesium.CustomDataSource('myData'); _viewer.dataSources.add(_myDataCustomDataSource); initTileset(); } catch (e) { if (widget._showRenderLoopErrors) { var title = '渲染时发生错误,已停止渲染。'; widget.showErrorPanel(title, undefined, e); } } } /** * 初始化layui */ layui.use(['layer','table','laydate','form'], function () { _layer = layui.layer, _layuiTable = layui.table, _laydate = layui.laydate, _layuiForm = layui.form; initWorkData(); _layuiForm.on('select(modelSwitch)', function (data) { console.log(data.value); if (data.value != null && data.value != "") { if (_orgId != data.value) { _orgId = data.value; initWork(_use_page); initTileset2(); } } }) }); /** * 初始化数据 */ var initWorkData = function() { // var kn_root_c_cookie = $.cookie("kn_root_cookie"); var kn_root_c_cookie = '{"usersUid":"xzadmin","usersName":"西藏数据管理员","IsAdmin":"1","cityId":"540000","orgId":"D8DC637B8B984848A63F82A018AFAEB0","orgName":"西藏自治区消防救援总队","deptId":"","deptName":"","pid":"1","userMobile":"13800138001","userSex":"男","userNation":"","userFace":"","userCert":"","userProf":"","userPhoto":"","roles":"48599f7df67d4eb491949039dc6b26f7"}'; var kn_root_c_cookie_json; if(typeof kn_root_c_cookie == 'string'){ kn_root_c_cookie_json = JSON.parse(kn_root_c_cookie); console.log(kn_root_c_cookie_json); _orgId = kn_root_c_cookie_json.orgId; _pId = kn_root_c_cookie_json.pid; $("#topHead").load("topHead.html"); initWork("home"); initCampList(_orgId); startMqttServer(); }else{ _layer.msg("您未登录或登录超时请登录后使用,页面将在3秒后关闭!",{ icon: 0 }); setTimeout(function(){window.close();},3000); } } var initCampList = function (orgId) { var oldOrgId = orgId; switch(orgId){ case "734389c7ae364584aea9918693bba3de": //西藏自治区消防总队机关 case "0055c83cf8194051888061fb27971578": //拉萨市消防救援支队机关 case "0cf00efb5e5f4f668b86e08aff0ea3c4": //山南市消防救援支队机关 case "1cc32e7245694343b1e5ff41014eee74": //林芝市消防救援支队机关 case "2a0e0a66602145cfb456b98d92776977": //那曲市消防救援支队机关 case "335ef5c069954872a50d012b4676393a": //昌都市消防救援支队机关 case "a3a158f3ed6a463d92ef65aa58c67bfa": //日喀则市消防救援支队机关 case "ba4e41e82ddd4d819703f0a57f088d4e": //阿里地区消防救援支队机关 if(_pId){ orgId = _pId; } } $.ajax({ type: "post", url: _interfaceDocUrl + "/ashx/GisBaseHandler.ashx", data: { Action: "getCampListByOrgId", OrgId: orgId }, dataType: "json", success: function (res) { console.log(res); var campStr = ""; res.data.forEach(function (obj, index, arr) { campStr += ""; }); campStr += ""; $("#campList").append(campStr); console.log(_layuiForm); _layuiForm.render('select'); if (oldOrgId == "D8DC637B8B984848A63F82A018AFAEB0") { $('#campList').find("option[value=734389c7ae364584aea9918693bba3de]").attr("selected", true); _orgId = "734389c7ae364584aea9918693bba3de"; _layuiForm.render('select'); } } }) } var initWork = function (type){ if(type == "home"){ $("#earth").hide(); $(".dtzn").hide() }else{ if(_flyManager != null){ _flyManager && _flyManager.stop(); } $("#earth").show(); $(".dtzn").show(); } // $("#earth").hide(); $('#bodyDiv').load("subitem/"+type+".html"); } var getOrgId = function(){ // var kn_root_c_cookie = $.cookie("kn_root_cookie"); var kn_root_c_cookie = '{"usersUid":"xzadmin","usersName":"西藏数据管理员","IsAdmin":"1","cityId":"540000","orgId":"D8DC637B8B984848A63F82A018AFAEB0","orgName":"西藏自治区消防救援总队","deptId":"","deptName":"","pid":"1","userMobile":"13800138001","userSex":"男","userNation":"","userFace":"","userCert":"","userProf":"","userPhoto":"","roles":"48599f7df67d4eb491949039dc6b26f7"}'; var kn_root_c_cookie_json; if(typeof kn_root_c_cookie == 'string'){ kn_root_c_cookie_json = JSON.parse(kn_root_c_cookie); _orgId = kn_root_c_cookie_json.orgId; _pId = kn_root_c_cookie_json.pid; initTileset(); }else{ _layer.msg("您未登录或登录超时请登录后使用,页面将在3秒后关闭!",{ icon: 0 }); setTimeout(function(){window.close();},3000); } } var initTileset = function () { if(_orgId == ""){ getOrgId(); }else{ if(_promise == ""){ $.post(_interfaceDocUrl + "/ashx/GisBaseHandler.ashx", { Action: "getOrgIdGisBase", OrgId: _orgId }, function (result) { console.log(result); var flag = false; try { if (typeof $.parseJSON(result) == "object") { flag = true; } } catch(e) { } if(flag){ var res = $.parseJSON(result); var data = res.GisBaseData; if(data.length > 0){ _promise = _viewer.scene.open(data[0].IP); _cesium.when(_promise,function(layers){ this.camera_setView(111.07064606657534, 36.2530620465765, 7278054.991043228, 0, -90, 0.0); setTimeout(function () { this.camera_flyTo(data[0].FLY_LON1, data[0].FLY_LAT1, data[0].FLY_HEI1, data[0].FLY_HEAD1, data[0].FLY_PITCH1, data[0].FLY_ROLL1, 4); }, 3000); setTimeout(function () { this.camera_flyTo(data[0].FLY_LON2, data[0].FLY_LAT2, data[0].FLY_HEI2, data[0].FLY_HEAD2, data[0].FLY_PITCH2, data[0].FLY_ROLL2, 1); _flyInitialPerspective={ "lon":data[0].FLY_LON2, "lat":data[0].FLY_LAT2, "hei":data[0].FLY_HEI2, "head":data[0].FLY_HEAD2, "pitch":data[0].FLY_PITCH2, "roll":data[0].FLY_ROLL2 } }, 7200); }); }else{ $.ajax({ type: "post", url: _interfaceDocUrl + "/ashx/FireOrgHandler.ashx", data: { Action: "getFireOrgName", ID: _orgId }, dataType: "json", success: function (result) { if(result.data.LON!=null&&result.data.LON!=""&&result.data.LAT!=null&&result.data.LAT!=""){ var lon = Number(result.data.LON); var lat = Number(result.data.LAT); var point = gcj02towgs84(lon, lat); camera_flyTo(point[0], point[1], 8000, 0,-90,0, 3); }else{ _layer.msg(result.data.ORG_NAME+"营区未维护坐标点信息"); } } }) _layer.msg("当前营区无三维模型"); } }else{ $.ajax({ type: "post", url: _interfaceDocUrl + "/ashx/FireOrgHandler.ashx", data: { Action: "getFireOrgName", ID: _orgId }, dataType: "json", success: function (result) { //console.log(result); if(result.data.LON!=null&&result.data.LON!=""&&result.data.LAT!=null&&result.data.LAT!=""){ var lon = Number(result.data.LON); var lat = Number(result.data.LAT); var point = gcj02towgs84(lon, lat); camera_flyTo(point[0], point[1], 8000, 0, -90, 0, 3); }else{ _layer.msg(result.data.ORG_NAME+"营区未维护坐标点信息"); } } }) _layer.msg("当前营区无三维模型"); } }); }else{ } } } function getCamera(){ var camera = _viewer.camera;//获取当前相机对象 if(camera != null){ var cartographic=_viewer.scene.globe.ellipsoid.cartesianToCartographic(camera.position); var lng=_cesium.Math.toDegrees(cartographic.longitude); var lat=_cesium.Math.toDegrees(cartographic.latitude); var alt=cartographic.height; //console.log(lng+","+lat+","+alt);//输出x,y,z(经纬度) var heading = _cesium.Math.toDegrees(camera.heading); var pitch = _cesium.Math.toDegrees(camera.pitch); var roll = _cesium.Math.toDegrees(camera.roll); //console.log(heading+","+pitch+","+roll);//输出方向(度数) } } if (typeof Cesium !== 'undefined') { window.startupCalled = true; setTimeout(onload(Cesium), 3000); } var initTileset2 = function () { $.post(_interfaceDocUrl + "/ashx/GisBaseHandler.ashx", { Action: "getOrgIdGisBase", OrgId: _orgId }, function (result) { var res = $.parseJSON(result); var data = res.GisBaseData; if(data.length > 0){ _promise = _viewer.scene.open(data[0].IP); camera_flyTo(data[0].FLY_LON1, data[0].FLY_LAT1, data[0].FLY_HEI1, data[0].FLY_HEAD1, data[0].FLY_PITCH1, data[0].FLY_ROLL1, 0.1); setTimeout(function () { camera_flyTo(data[0].FLY_LON2, data[0].FLY_LAT2, data[0].FLY_HEI2, data[0].FLY_HEAD2, data[0].FLY_PITCH2, data[0].FLY_ROLL2, 1); },1300) }else{ $.ajax({ type: "post", url: _interfaceDocUrl + "/ashx/FireOrgHandler.ashx", data: { Action: "getFireOrgName", ID: _orgId }, dataType: "json", success: function (result) { if(result.data.LON!=null&&result.data.LON!=""&&result.data.LAT!=null&&result.data.LAT!=""){ var lon = Number(result.data.LON); var lat = Number(result.data.LAT); var point = gcj02towgs84(lon, lat); camera_flyTo(point[0], point[1], 8000, 0,-90,0, 3); }else{ _layer.msg(result.data.ORG_NAME+"营区未维护坐标点信息"); } } }) _layer.msg("当前营区无三维模型"); } }); }