|
|
@@ -36,6 +36,8 @@ import STXF from './cockpitNew1/stxf';
|
|
|
import WPJG from './cockpitNew1/wpjg';
|
|
|
import datePicker from './cockpitNew1/datePicker.vue';
|
|
|
import xzqh from "../../static/data/460200_full.json";
|
|
|
+import hyqy from "../../static/data/460200_hyqy.json";
|
|
|
+
|
|
|
import SerCenter from './cockpitNew1/serCenter.vue';
|
|
|
|
|
|
import { cockpitInfo } from '@/api/cockpit'
|
|
|
@@ -208,7 +210,7 @@ export default {
|
|
|
|
|
|
if (pickObj.id && pickObj.id instanceof Cesium.Entity) {//点击entity
|
|
|
|
|
|
- if (pickObj.id.properties.hasProperty('name')) {
|
|
|
+ if (pickObj.id.properties.hasProperty('name') && pickObj.id.properties.name.getValue() != "海洋区域") {
|
|
|
const name = pickObj.id.properties.name.getValue();
|
|
|
const address = pickObj.id.properties.adcode.getValue();
|
|
|
const center = pickObj.id.properties.centroid.getValue();
|
|
|
@@ -307,8 +309,8 @@ export default {
|
|
|
pixelOffset: new Cesium.Cartesian2(5, -15),
|
|
|
zIndex: 3,
|
|
|
// 设置远近裁条件
|
|
|
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(20000, 9999999999.0),
|
|
|
- },
|
|
|
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(20000, 9999999999.0),
|
|
|
+ },
|
|
|
billboard: {
|
|
|
// 图像地址,URI或Canvas的属性
|
|
|
image: "./static/images/overview/htq-f.png",
|
|
|
@@ -321,8 +323,8 @@ export default {
|
|
|
// horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
|
|
scale: 1.0,
|
|
|
zIndex: 2,
|
|
|
- // 设置远近裁条件
|
|
|
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(20000, 9999999999.0),
|
|
|
+ // 设置远近裁条件
|
|
|
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(20000, 9999999999.0),
|
|
|
show: true
|
|
|
},
|
|
|
properties: obj,
|
|
|
@@ -338,8 +340,8 @@ export default {
|
|
|
outline: true,
|
|
|
// outlineColor : Cesium.Color.BLACK
|
|
|
outlineColor: Cesium.Color.fromCssColorString('#55A1E3'),
|
|
|
- // 设置远近裁条件
|
|
|
- distanceDisplayCondition: new Cesium.DistanceDisplayCondition(20000, 9999999999.0),
|
|
|
+ // 设置远近裁条件
|
|
|
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(20000, 9999999999.0),
|
|
|
}
|
|
|
});
|
|
|
|
|
|
@@ -348,6 +350,85 @@ export default {
|
|
|
|
|
|
})
|
|
|
},
|
|
|
+ init_hyqy() {
|
|
|
+ const that = this;
|
|
|
+
|
|
|
+
|
|
|
+ // hierarchy: {
|
|
|
+ // positions: Cesium.Cartesian3.fromDegreesArray([
|
|
|
+ // 125.9, 35.7,
|
|
|
+ // 110.20, 34.55,
|
|
|
+ // 120.20, 50.55
|
|
|
+ // ]),
|
|
|
+ // // holes: [{
|
|
|
+ // // positions: Cesium.Cartesian3.fromDegreesArray([
|
|
|
+ // // 119, 32,
|
|
|
+ // // 115, 34,
|
|
|
+ // // 119, 40
|
|
|
+ // // ])
|
|
|
+ // // }]
|
|
|
+ // },
|
|
|
+
|
|
|
+ hyqy.features.forEach((res) => {
|
|
|
+
|
|
|
+ const twoDArray = res.geometry.coordinates[0];
|
|
|
+ const oneDArray = twoDArray.reduce((accumulator, currentValue) => accumulator.concat(currentValue), []);
|
|
|
+
|
|
|
+ viewer.entities.add({
|
|
|
+ position: Cesium.Cartesian3.fromDegrees(res.properties.centroid[0], res.properties.centroid[1], 500),
|
|
|
+ text: res.properties.name,
|
|
|
+ label: {
|
|
|
+ scale: 1.5,
|
|
|
+ font: "bolder 16px sans-serif",
|
|
|
+ style: Cesium.LabelStyle.FILL_AND_OUTLINE,
|
|
|
+ text: res.properties.name,//图标名称
|
|
|
+ fillColor: Cesium.Color.fromCssColorString("#ffffff"),
|
|
|
+ pixelOffset: new Cesium.Cartesian2(5, -15),
|
|
|
+ zIndex: 3,
|
|
|
+ // 设置远近裁条件
|
|
|
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(20000, 9999999999.0),
|
|
|
+ },
|
|
|
+ billboard: {
|
|
|
+ // 图像地址,URI或Canvas的属性
|
|
|
+ image: "./static/images/overview/htq-f.png",
|
|
|
+ height: 60,
|
|
|
+ // 宽度(以像素为单位)
|
|
|
+ width: 150,
|
|
|
+ // 相对于坐标的垂直位置
|
|
|
+ // verticalOrigin: Cesium.VerticalOrigin.CENTER,
|
|
|
+ // // 相对于坐标的水平位置
|
|
|
+ // horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
|
|
+ scale: 1.0,
|
|
|
+ zIndex: 2,
|
|
|
+ // 设置远近裁条件
|
|
|
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(20000, 9999999999.0),
|
|
|
+ show: true
|
|
|
+ },
|
|
|
+ properties: {
|
|
|
+ 'type': "cockpit",
|
|
|
+ 'name': res.properties.name,
|
|
|
+ 'centroid': res.properties.centroid,
|
|
|
+ 'adcode': res.properties.adcode,
|
|
|
+ },
|
|
|
+ polygon: {
|
|
|
+ zIndex: 1,
|
|
|
+ hierarchy: {
|
|
|
+ positions: Cesium.Cartesian3.fromDegreesArray(oneDArray),
|
|
|
+ },
|
|
|
+ // outline: false,
|
|
|
+ material: Cesium.Color.fromCssColorString(that.xzqh_color),
|
|
|
+ height: 300,
|
|
|
+ extrudedHeight: 350,
|
|
|
+ outline: true,
|
|
|
+ // outlineColor : Cesium.Color.BLACK
|
|
|
+ outlineColor: Cesium.Color.fromCssColorString('#55A1E3'),
|
|
|
+ // 设置远近裁条件
|
|
|
+ distanceDisplayCondition: new Cesium.DistanceDisplayCondition(20000, 9999999999.0),
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
addSceneFun() {
|
|
|
var pitch = viewer.camera.pitch;
|
|
|
//获取当前视角的heading
|
|
|
@@ -414,7 +495,10 @@ export default {
|
|
|
|
|
|
this.$nextTick((res) => {
|
|
|
this.pick_xzqh();
|
|
|
- this.init_xzqh()
|
|
|
+ this.init_xzqh();
|
|
|
+ this.init_hyqy();
|
|
|
+
|
|
|
+
|
|
|
});
|
|
|
|
|
|
|