| | |
| | | // item: item, |
| | | // }); |
| | | // }); |
| | | new global.DC.DivForms(state.viewer, { |
| | | var box = new global.DC.DivForms(state.viewer, { |
| | | domId: 'divFormsDomBox', |
| | | position: [ |
| | | global.DC.Transform.transformWGS84ToCartesian( |
| | |
| | | ) |
| | | // 订阅事件 |
| | | window.divIcononces.on(global.DC.MouseEventType.CLICK, (e) => { |
| | | if (state.pinchFlag == true) { |
| | | return |
| | | } |
| | | |
| | | // console.log(e); |
| | | // return; |
| | | // 定制化窗体 |
| | |
| | | }, val) { |
| | | const list = val.list |
| | | if (!window.labelLayer) { |
| | | window.labelLayer = new global.DC.HtmlLayer('labelLayer') |
| | | window.labelLayer = new global.DC.VectorLayer('labelLayer') |
| | | global.viewer.addLayer(window.labelLayer) |
| | | // state.myviewer = val.mviewer |
| | | } |
| | |
| | | return |
| | | } |
| | | for (const i in list) { |
| | | window.divIcon = new global.DC.DivIcon( |
| | | const billboard = new global.DC.Billboard( |
| | | new global.DC.Position( |
| | | Number(list[i].jd), |
| | | Number(list[i].wd), |
| | | 0 |
| | | ), 'https://map.hit.edu.cn/images/tarrow_xq.png') |
| | | |
| | | const label = new global.DC.Label( |
| | | new global.DC.Position( |
| | | Number(list[i].jd), |
| | | Number(list[i].wd), |
| | | 0 |
| | | ), |
| | | ` |
| | | <div class="tag-entitys-box"> |
| | | <div class="tag-content"> |
| | | ${list[i].name} |
| | | </div> |
| | | <div class="tag-angle-content"> |
| | | <img src="https://map.hit.edu.cn/images/tarrow_xq.png"> |
| | | </div> |
| | | </div> |
| | | ` |
| | | list[i].name |
| | | ) |
| | | |
| | | label.setStyle({ |
| | | fillColor: global.DC.Color.RED, |
| | | style: global.DC.Namespace.Cesium.LabelStyle.FILL_AND_OUTLINE, |
| | | outlineColor: global.DC.Color.WHITE, // 边框颜色 |
| | | outlineWidth: 8, // 边框大小, |
| | | font: '12px sans-serif', |
| | | pixelOffset: { x: 0, y: -24 } |
| | | }) |
| | | |
| | | // 订阅事件 |
| | | window.divIcon.on(global.DC.MouseEventType.CLICK, (e) => { |
| | | billboard.on(global.DC.MouseEventType.CLICK, (e) => { |
| | | if (state.pinchFlag == true) { |
| | | return |
| | | } |
| | | // console.log(e); |
| | | // return; |
| | | // 定制化窗体 |
| | |
| | | data: list[i] |
| | | }) |
| | | }) |
| | | window.labelLayer.addOverlay(window.divIcon) |
| | | |
| | | label.on(global.DC.MouseEventType.CLICK, (e) => { |
| | | if (state.pinchFlag == true) { |
| | | return |
| | | } |
| | | // console.log(e); |
| | | // return; |
| | | // 定制化窗体 |
| | | // const position = e.position |
| | | const lntLat = [e.overlay._position._lng, e.overlay._position._lat] |
| | | // console.log(position, lntLat, list[i], state.myviewer, "see") |
| | | var box = new global.DC.DivForms(global.viewer, { |
| | | domId: 'labelLayerid', |
| | | position: [ |
| | | global.DC.Transform.transformWGS84ToCartesian( |
| | | new global.DC.Position( |
| | | Number(lntLat[0]), |
| | | Number(lntLat[1]), |
| | | Number(0) |
| | | ) |
| | | ) |
| | | ] |
| | | }) |
| | | global.viewer.camera.setView({ |
| | | // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州 |
| | | // fromDegrees()方法,将经纬度和高程转换为世界坐标 |
| | | destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees( |
| | | lntLat[0], |
| | | lntLat[1], |
| | | 950.0 |
| | | ), |
| | | orientation: { |
| | | // 指向 |
| | | heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0), |
| | | // 视角 |
| | | pitch: global.DC.Namespace.Cesium.Math.toRadians(-90), |
| | | roll: 0.0 |
| | | } |
| | | }) |
| | | commit('openLabelLayer', { |
| | | show: true, |
| | | data: list[i] |
| | | }) |
| | | }) |
| | | |
| | | window.labelLayer.addOverlay(billboard) // 加入图标 |
| | | window.labelLayer.addOverlay(label) |
| | | } |
| | | } |
| | | } |