import { get_source_list } from "../../api/gisAPI"; const test = { data() { return { earthsDom: ["earth", "map2d"], }; }, mounted() {}, methods: { callback(Event) { console.log(Event); this.earthsDom.forEach((dom) => { $("#" + dom).removeClass("selectedEarthCss"); }); $("#" + Event.path[4].id).addClass("selectedEarthCss"); if (Event.path[4].id == "earths") { window.Earth1 = window.Earths; copy(window.right_entityMap); } else { window.Earth1 = window.Earth; copy(window.left_entityMap); } function copy(map) { if (map == "undefined") { map = new Map(); } window._entityMap.clear(); // empty = null window._entityMap = new Map([...map]); console.log("copy之后"); console.log(_entityMap); console.log(right_entityMap); // console.log(Earth1) // console.log(Earth) // console.log(Earths) } }, tongbu() { let _this = this.$refs.tree; // this.$refs.tree. // $("#earths").click() window.Earth1 = window.Earths; $("#earths").addClass("selectedEarthCss"); $("#earth").removeClass("selectedEarthCss"); get_source_list().then((response) => { if ([0, 200].includes(response.code)) { let data = JSON.parse(JSON.stringify(response.data.list || [])); data.sort(_this.keysort("tree_index")); //给node设置树形如icon;是否允许添加子节点,以及右键菜单 if (window.right_entityMap == "undefined") window.right_entityMap = new Map(); console.log("被同步的数据", data); console.log("被同步的数据", window.Earth1); console.log("window.right_entityMap", window.right_entityMap); data.forEach((node) => { console.log( "node.source_type", node.source_type, [ "point", "line", "panel", "circle", "attackArrow", "pincerArrow", "groundImage", "layer", "ArcgisWXImagery", ].includes(node.source_type) ); if ( !window.right_entityMap.get(node.source_id) && [ "model", "point", "line", "panel", "circle", "attackArrow", "pincerArrow", "groundImage", "layer", "ArcgisWXImagery", ].includes(node.source_type) ) { if (node.detail) node.detail = JSON.parse(node.detail); //设置树上图标,并渲染到地球上 _this.setOptions(node); } }); if (window.right_entityMap == "undefined") window.right_entityMap = new Map(); window.right_entityMap = new Map([...window._entityMap]); } }); }, /* twoscreen() { // window.earth = null // this.$changeComponentShow(".tongbu", true) this.halfEarth = !this.halfEarth console.log(this.halfEarth) if (this.halfEarth) { $("#earth").addClass("halfEarth") $("#earths").addClass("halfEarth") $("#earths")[0].style.left = "50%" let earths = new YJ.YJEarth('earths') // YJ.setSecondEarth(earths.earth) // earths.earth.czm.viewer.scene.mode = Cesium.SceneMode.SCENE2D // earths.earth.czm.viewer.scene.screenSpaceCameraController.enableTranslate = true window.Earths = earths // console.log("earth", earths) // console.log( // earths.earth.sceneTree.$refs // ) YJ.Global.setMode2D(earths.earth) $("#earth").addClass("selectedEarthCss") this.earthsDom.forEach(dom => { $("#" + dom)[0].addEventListener("click", this.callback, {capture: true}) }) window.right_entityMap = new Map() window.left_entityMap = new Map([...window._entityMap]) } else { this.$changeComponentShow(".tongbu", false) this.earthsDom.forEach(dom => { $("#" + dom)[0].removeEventListener("click", this.callback, {capture: true}) $("#" + dom).removeClass("halfEarth") $("#" + dom).removeClass("selectedEarthCss") }) window._entityMap = window.left_entityMap window.Earth1 = window.Earth window.Earths.earth.destroy() $("#earths").empty(); window.Earths = null } },*/ tongbu2D() { let _this = $root_home_index.$refs.tree; get_source_list().then((response) => { if ([0, 200].includes(response.code)) { let data = JSON.parse(JSON.stringify(response.data.list || [])); data.sort(_this.keysort("tree_index")); //给node设置树形如icon;是否允许添加子节点,以及右键菜单 if (!window.right_entityMap) window.right_entityMap = new Map(); console.log("被同步的数据", data); console.log("被同步的数据", window.Earth1); console.log("window.right_entityMap", window.right_entityMap); data.forEach((node) => { if ( !window.right_entityMap.get(node.source_id) && [ "point", "line", "panel", "circle", "attackArrow", "pincerArrow", "layer", ].includes(node.source_type) ) { if (node.detail) node.detail = JSON.parse(node.detail); //设置树上图标,并渲染到地球上 _this.setOptions2d(node); } }); /*if (window.right_entityMap == 'undefined') window.right_entityMap = new Map() window.right_entityMap = new Map([...window._entityMap])*/ } }); }, map2d() { console.log('window.splitScreen',window.splitScreen,'window.multiViewportMode',window.multiViewportMode); // 判断window.menuList是否存在 if (window.checkAuthIsValid) { if (window.menuList) { let tool = window.menuList[5].list; tool.forEach((item) => { if (item.name == "splitScreen") { if (item.status == true) { item.status = false; this.halfEarth = false; } } }); } this.halfEarth = !this.halfEarth; if (this.halfEarth) { YJ.Global.multiViewportMode.on(window.Earth1); window.multiViewportMode = true; window.splitScreen = false } else { YJ.Global.multiViewportMode.off(window.Earth1); window.multiViewportMode = false; } } else { this.$message({ message: "您没有该功能的权限", type: "warning", }); } // this.$changeComponentShow(".tongbu", true) // if (this.halfEarth) { // $("#earth").addClass("halfEarth") // $("#map2d").removeClass("zIndex1") // $(".ol-control")[0].style.bottom = ".5em" // $(".ol-zoom").css("top", '') // } else { // this.$changeComponentShow(".tongbu", false) // // $("#" + dom)[0].removeEventListener("click", this.callback, {capture: true}) // $("#earth").removeClass("halfEarth") // $("#map2d").addClass("zIndex1") // } /* this.$changeComponentShow(".tongbu", true) this.halfEarth = !this.halfEarth console.log(this.halfEarth) if (this.halfEarth) { $("#earth").addClass("halfEarth") $("#map2d").addClass("halfEarth") $("#map2d")[0].style.left = "50%" // window.map2d = new YJMap.Map("map2d") /!* new YJMap.Obj.Tms(map2d, { url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer', })*!/ /!* const projection = new ol.proj.Projection({ code: 'EPSG:4326', extent: [-180, -90, 180, 90], metersPerUnit: 2 * Math.PI * 6378137 / 360 }) let GGLWLayer = new ol.layer.Tile({ source: new ol.source.XYZ({ attributions: 'Tiles © ArcGIS', url: 'https://server.arcgisonline.com/ArcGIS/rest/services/' + 'World_Topo_Map/MapServer/tile/{z}/{y}/{x}', }), /!* source: new ol.source.XYZ({ url: "http://t4.tianditu.com/DataServer?T=vec_c&x={x}&y={y}&l={z}&tk=d0cf74b31931aab68af181d23fa23d8d" }), visible: false*!/ }) window.Map = new ol.Map({ target: "map2d", layers: [ GGLWLayer ], view: new ol.View({ center: [106.814931000, 34.945231000, 16000], projection: projection, minZoom: 4, maxZoom: 21, // extent : maxExtent, //限定到地图视图拖动范围 zoom: 5 // 地图初始化的缩放级别 }) })*!/ $(".ol-control")[0].style.bottom = ".5em" $(".ol-zoom").css("top", '') } else { this.$changeComponentShow(".tongbu", false) this.earthsDom.forEach(dom => { $("#" + dom)[0].removeEventListener("click", this.callback, {capture: true}) $("#" + dom).removeClass("halfEarth") $("#" + dom).removeClass("selectedEarthCss") }) // window._entityMap = window.left_entityMap // window.Earth1 = window.Earth // window.Earths.earth.destroy() // window.map2d.map.setTarget(null); // window.map2d.map.dispose(); // $("#map2d").empty(); // window.Earths = null // window._rightMap.clear() }*/ }, testglb() { // let rocketPrimitive: Cesium.Model let position = Cesium.Cartesian3.fromDegrees( 106.31598580143364, 29.62610729142745, 264.2444551526038 ); const hpRoll = new Cesium.HeadingPitchRoll(); const fixedFrameTransform = Cesium.Transforms.localFrameToFixedFrameGenerator( "north", "west" ); const rocketPrimitive = window.Earth1.earth._viewer.scene.primitives.add( Cesium.Model.fromGltf({ url: "https://assets.agi.com/models/launchvehicle.glb", modelMatrix: Cesium.Transforms.headingPitchRollToFixedFrame( position, hpRoll, Cesium.Ellipsoid.WGS84, fixedFrameTransform ), minimumPixelSize: 128, }) ); /*rocketPrimitive.setArticulationStage( //对应属性改变参数值 'SRBFlames Size', 1 ); rocketPrimitive.applyArticulations(); //使得修改的属性生效*/ window.rocketPrimitive = rocketPrimitive; }, }, }; export default test;