diff --git a/src/assets/images/icon/bookmark-one.svg b/src/assets/images/icon/bookmark-one.svg
new file mode 100644
index 0000000..843250c
--- /dev/null
+++ b/src/assets/images/icon/bookmark-one.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/src/assets/images/icon/boy.svg b/src/assets/images/icon/boy.svg
new file mode 100644
index 0000000..11ee7c4
--- /dev/null
+++ b/src/assets/images/icon/boy.svg
@@ -0,0 +1,5 @@
+
+
diff --git a/src/assets/images/icon/calib-dir.png b/src/assets/images/icon/calib-dir.png
new file mode 100644
index 0000000..9abf615
Binary files /dev/null and b/src/assets/images/icon/calib-dir.png differ
diff --git a/src/assets/images/icon/calib-semicircle.png b/src/assets/images/icon/calib-semicircle.png
new file mode 100644
index 0000000..4bfd911
Binary files /dev/null and b/src/assets/images/icon/calib-semicircle.png differ
diff --git a/src/assets/images/icon/calib-value.png b/src/assets/images/icon/calib-value.png
new file mode 100644
index 0000000..b1f79ce
Binary files /dev/null and b/src/assets/images/icon/calib-value.png differ
diff --git a/src/assets/images/icon/calib.png b/src/assets/images/icon/calib.png
new file mode 100644
index 0000000..a9d2b04
Binary files /dev/null and b/src/assets/images/icon/calib.png differ
diff --git a/src/assets/images/icon/camera.svg b/src/assets/images/icon/camera.svg
new file mode 100644
index 0000000..7a33003
--- /dev/null
+++ b/src/assets/images/icon/camera.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/icon/chinese.svg b/src/assets/images/icon/chinese.svg
new file mode 100644
index 0000000..943e117
--- /dev/null
+++ b/src/assets/images/icon/chinese.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/src/assets/images/icon/delete.svg b/src/assets/images/icon/delete.svg
new file mode 100644
index 0000000..3d3792a
--- /dev/null
+++ b/src/assets/images/icon/delete.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/src/assets/images/icon/div1.png b/src/assets/images/icon/div1.png
new file mode 100644
index 0000000..9bed7b8
Binary files /dev/null and b/src/assets/images/icon/div1.png differ
diff --git a/src/assets/images/icon/div2.png b/src/assets/images/icon/div2.png
new file mode 100644
index 0000000..93e08e2
Binary files /dev/null and b/src/assets/images/icon/div2.png differ
diff --git a/src/assets/images/icon/emergency.gif b/src/assets/images/icon/emergency.gif
new file mode 100644
index 0000000..9cd3dbd
Binary files /dev/null and b/src/assets/images/icon/emergency.gif differ
diff --git a/src/assets/images/icon/fire.png b/src/assets/images/icon/fire.png
new file mode 100644
index 0000000..2a3f9f8
Binary files /dev/null and b/src/assets/images/icon/fire.png differ
diff --git a/src/assets/images/icon/girl.svg b/src/assets/images/icon/girl.svg
new file mode 100644
index 0000000..563525b
--- /dev/null
+++ b/src/assets/images/icon/girl.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/src/assets/images/icon/good.svg b/src/assets/images/icon/good.svg
new file mode 100644
index 0000000..db68cd2
--- /dev/null
+++ b/src/assets/images/icon/good.svg
@@ -0,0 +1,5 @@
+
+
diff --git a/src/assets/images/icon/huojian.svg b/src/assets/images/icon/huojian.svg
new file mode 100644
index 0000000..49d9d03
--- /dev/null
+++ b/src/assets/images/icon/huojian.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/icon/lbl-circle.png b/src/assets/images/icon/lbl-circle.png
new file mode 100644
index 0000000..31c418f
Binary files /dev/null and b/src/assets/images/icon/lbl-circle.png differ
diff --git a/src/assets/images/icon/lbl-circle2.png b/src/assets/images/icon/lbl-circle2.png
new file mode 100644
index 0000000..0ff1abf
Binary files /dev/null and b/src/assets/images/icon/lbl-circle2.png differ
diff --git a/src/assets/images/icon/lbl-extent.png b/src/assets/images/icon/lbl-extent.png
new file mode 100644
index 0000000..eae04a7
Binary files /dev/null and b/src/assets/images/icon/lbl-extent.png differ
diff --git a/src/assets/images/icon/lbl-extent2.png b/src/assets/images/icon/lbl-extent2.png
new file mode 100644
index 0000000..771303f
Binary files /dev/null and b/src/assets/images/icon/lbl-extent2.png differ
diff --git a/src/assets/images/icon/linePoint1.png b/src/assets/images/icon/linePoint1.png
new file mode 100644
index 0000000..90aff53
Binary files /dev/null and b/src/assets/images/icon/linePoint1.png differ
diff --git a/src/assets/images/icon/linePoint2.png b/src/assets/images/icon/linePoint2.png
new file mode 100644
index 0000000..d19c16f
Binary files /dev/null and b/src/assets/images/icon/linePoint2.png differ
diff --git a/src/assets/images/icon/map-title-b.png b/src/assets/images/icon/map-title-b.png
new file mode 100644
index 0000000..c4beb3f
Binary files /dev/null and b/src/assets/images/icon/map-title-b.png differ
diff --git a/src/assets/images/icon/map-title-h.png b/src/assets/images/icon/map-title-h.png
new file mode 100644
index 0000000..0d3b550
Binary files /dev/null and b/src/assets/images/icon/map-title-h.png differ
diff --git a/src/assets/images/icon/map-title-o.png b/src/assets/images/icon/map-title-o.png
new file mode 100644
index 0000000..783c95b
Binary files /dev/null and b/src/assets/images/icon/map-title-o.png differ
diff --git a/src/assets/images/icon/map-title-r.png b/src/assets/images/icon/map-title-r.png
new file mode 100644
index 0000000..ec13130
Binary files /dev/null and b/src/assets/images/icon/map-title-r.png differ
diff --git a/src/assets/images/icon/map-title-y.png b/src/assets/images/icon/map-title-y.png
new file mode 100644
index 0000000..76961e3
Binary files /dev/null and b/src/assets/images/icon/map-title-y.png differ
diff --git a/src/assets/images/icon/missile_blue.png b/src/assets/images/icon/missile_blue.png
new file mode 100644
index 0000000..0e26496
Binary files /dev/null and b/src/assets/images/icon/missile_blue.png differ
diff --git a/src/assets/images/icon/missile_red.png b/src/assets/images/icon/missile_red.png
new file mode 100644
index 0000000..38ec805
Binary files /dev/null and b/src/assets/images/icon/missile_red.png differ
diff --git a/src/assets/images/icon/move.png b/src/assets/images/icon/move.png
new file mode 100644
index 0000000..816b5f9
Binary files /dev/null and b/src/assets/images/icon/move.png differ
diff --git a/src/assets/images/icon/move.svg b/src/assets/images/icon/move.svg
new file mode 100644
index 0000000..66dae75
--- /dev/null
+++ b/src/assets/images/icon/move.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/src/assets/images/icon/plane_Blue.png b/src/assets/images/icon/plane_Blue.png
new file mode 100644
index 0000000..bad17a9
Binary files /dev/null and b/src/assets/images/icon/plane_Blue.png differ
diff --git a/src/assets/images/icon/popupLbl.png b/src/assets/images/icon/popupLbl.png
new file mode 100644
index 0000000..3f02f1a
Binary files /dev/null and b/src/assets/images/icon/popupLbl.png differ
diff --git a/src/assets/images/icon/redBaseCamp.png b/src/assets/images/icon/redBaseCamp.png
new file mode 100644
index 0000000..13b9acc
Binary files /dev/null and b/src/assets/images/icon/redBaseCamp.png differ
diff --git a/src/assets/images/icon/rotate.png b/src/assets/images/icon/rotate.png
new file mode 100644
index 0000000..0960459
Binary files /dev/null and b/src/assets/images/icon/rotate.png differ
diff --git a/src/assets/images/icon/search.svg b/src/assets/images/icon/search.svg
new file mode 100644
index 0000000..2d26b35
--- /dev/null
+++ b/src/assets/images/icon/search.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/src/assets/images/icon/symbol1.png b/src/assets/images/icon/symbol1.png
new file mode 100644
index 0000000..3016695
Binary files /dev/null and b/src/assets/images/icon/symbol1.png differ
diff --git a/src/assets/images/icon/symbol2.png b/src/assets/images/icon/symbol2.png
new file mode 100644
index 0000000..2961b50
Binary files /dev/null and b/src/assets/images/icon/symbol2.png differ
diff --git a/src/assets/images/icon/textPnl.png b/src/assets/images/icon/textPnl.png
new file mode 100644
index 0000000..ec39a68
Binary files /dev/null and b/src/assets/images/icon/textPnl.png differ
diff --git a/src/assets/images/icon/tf.gif b/src/assets/images/icon/tf.gif
new file mode 100644
index 0000000..46d688c
Binary files /dev/null and b/src/assets/images/icon/tf.gif differ
diff --git a/src/assets/images/icon/typhoon.gif b/src/assets/images/icon/typhoon.gif
new file mode 100644
index 0000000..48cc6ed
Binary files /dev/null and b/src/assets/images/icon/typhoon.gif differ
diff --git a/src/assets/images/icon/wall.png b/src/assets/images/icon/wall.png
new file mode 100644
index 0000000..2825097
Binary files /dev/null and b/src/assets/images/icon/wall.png differ
diff --git a/src/assets/images/icon/warn.png b/src/assets/images/icon/warn.png
new file mode 100644
index 0000000..ba1bb3e
Binary files /dev/null and b/src/assets/images/icon/warn.png differ
diff --git a/src/assets/images/icon/分割.png b/src/assets/images/icon/分割.png
new file mode 100644
index 0000000..d4147cd
Binary files /dev/null and b/src/assets/images/icon/分割.png differ
diff --git a/src/assets/images/icon/监测建筑.png b/src/assets/images/icon/监测建筑.png
new file mode 100644
index 0000000..79d2c6d
Binary files /dev/null and b/src/assets/images/icon/监测建筑.png differ
diff --git a/src/assets/images/icon/监测面积.png b/src/assets/images/icon/监测面积.png
new file mode 100644
index 0000000..eb44c59
Binary files /dev/null and b/src/assets/images/icon/监测面积.png differ
diff --git a/src/views/goverment/frontLargeScreen/components/spaceAnalysis.vue b/src/views/goverment/frontLargeScreen/components/spaceAnalysis.vue
index e2873b6..7e2f15f 100644
--- a/src/views/goverment/frontLargeScreen/components/spaceAnalysis.vue
+++ b/src/views/goverment/frontLargeScreen/components/spaceAnalysis.vue
@@ -65,6 +65,7 @@
添加可视域
+ 保存
@@ -126,6 +127,7 @@
添加矩形
添加多边形
+ 保存
@@ -292,7 +294,7 @@ import dayjs from "dayjs";
import { ref, watch, onMounted, computed, onUnmounted } from "vue";
import { ElMessage } from "element-plus";
const props = defineProps(["mapInstance"]);
-const emits = defineEmits(["hiddenConfim"]);
+const emits = defineEmits(["hiddenConfim", "saveJson"]);
const mainMenuShow = ref(true);
const subMenuShow = ref(false);
const sunshineText = ref("播放");
@@ -338,11 +340,13 @@ const menuList = ref([
{ name: "模型压平", icon: new URL("../../../../assets/images/Mars3DIcon/mxyp.png", import.meta.url).href },
{ name: "限高分析", icon: new URL("../../../../assets/images/Mars3DIcon/xgfx.png", import.meta.url).href }
]);
+const clearBool = ref(true);
+const initGraphicLength = ref(0);
let map: any = props.mapInstance;
+let graphicLayer: any;
let measure: any;
let measureVolume: any;
let shadows: any;
-let graphicLayer: any;
let terrainClip: any;
let underground: any;
let slope: any;
@@ -356,12 +360,13 @@ onMounted(() => {
console.log(map, "66666");
graphicLayer = new mars3d.layer.GraphicLayer();
map.addLayer(graphicLayer);
- map.scene.globe.depthTestAgainstTerrain = true; // 不加无法投射到地形上
+ // map.scene.globe.depthTestAgainstTerrain = true; // 不加无法投射到地形上
+ initGraphicLength.value = graphicLayer.getGraphics().length;
// 地形开挖
terrainClip = new mars3d.thing.TerrainClip({
diffHeight: allProperty.value.diffHeight, // 井的深度
- image: new URL("../../../assets/images/Mars3DImg/textures/poly-stone.jpg", import.meta.url).href,
- imageBottom: new URL("../../../assets/images/Mars3DImg/textures/poly-soil.jpg", import.meta.url).href,
+ image: new URL("../../../../assets/images/Mars3DImg/textures/poly-stone.jpg", import.meta.url).href,
+ imageBottom: new URL("../../../../assets/images/Mars3DImg/textures/poly-soil.jpg", import.meta.url).href,
splitNum: 80, // 井边界插值数
enabled: true
});
@@ -391,10 +396,28 @@ onMounted(() => {
});
map.addThing(contourLine);
});
+// 保存配置的图上JSON数据
+const saveJson = async () => {
+ // if (graphicLayer.length == 0) {
+ // ElMessage("当前没有任何数据,无需保存!");
+ // return;
+ // }
+ console.log(map);
+ console.log(terrainClip.list);
+ let arr: any = terrainClip.list;
+ // map.eachThing(item => {
+ // console.log(item);
+ // arr.push(item);
+ // });
+ arr = arr.concat(graphicLayer.getGraphics());
+ clearBool.value = false;
+ console.log(arr);
+ emits("saveJson", arr);
+};
// 限定高度--绘制面
const drawheightLimitPoly = () => {
- map.graphicLayer.clear();
- map.graphicLayer.startDraw({
+ graphicLayer.clear();
+ graphicLayer.startDraw({
type: "polygon",
style: {
color: "#ffff00",
@@ -406,15 +429,15 @@ const drawheightLimitPoly = () => {
const positions = graphic.positionsShow;
limitHeight.positions = positions;
- map.graphicLayer.clear();
+ graphicLayer.clear();
console.log("绘制坐标为", JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 方便测试拷贝坐标
}
});
};
// 限定高度--绘制矩形
const drawheightLimitDrawExtent = () => {
- map.graphicLayer.clear();
- map.graphicLayer.startDraw({
+ graphicLayer.clear();
+ graphicLayer.startDraw({
type: "rectangle",
style: {
color: "#ffff00",
@@ -426,7 +449,7 @@ const drawheightLimitDrawExtent = () => {
const positions = graphic.getOutlinePositions(false);
limitHeight.positions = positions;
- map.graphicLayer.clear();
+ graphicLayer.clear();
}
});
};
@@ -436,8 +459,8 @@ const limitHeightOperate = (e: any) => {
};
// 模型压平--绘制多边形
const btnModelFlattenDraw = () => {
- map.graphicLayer.clear();
- map.graphicLayer.startDraw({
+ graphicLayer.clear();
+ graphicLayer.startDraw({
type: "polygon",
style: {
color: "#007be6",
@@ -446,7 +469,7 @@ const btnModelFlattenDraw = () => {
success: function (graphic: any) {
// 绘制成功后回调
const positions = graphic.positionsShow;
- map.graphicLayer.clear();
+ graphicLayer.clear();
console.log("绘制坐标为", JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 方便测试拷贝坐标
@@ -456,8 +479,8 @@ const btnModelFlattenDraw = () => {
};
// 模型压平--绘制矩形
const btnModelFlattenDrawExtent = () => {
- map.graphicLayer.clear();
- map.graphicLayer.startDraw({
+ graphicLayer.clear();
+ graphicLayer.startDraw({
type: "rectangle",
style: {
color: "#007be6",
@@ -467,7 +490,7 @@ const btnModelFlattenDrawExtent = () => {
success: function (graphic: any) {
// 绘制成功后回调
const positions = graphic.getOutlinePositions(false);
- map.graphicLayer.clear();
+ graphicLayer.clear();
console.log("绘制坐标为", JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 方便测试拷贝坐标
@@ -540,7 +563,7 @@ const drawSectionPoly = () => {
success: function (graphic: any) {
// 绘制成功后回调
const positions = graphic.positionsShow;
- map.graphicLayer.clear();
+ graphicLayer.clear();
modelPlanClip.clipOutSide = allProperty.value.clipOutSide;
modelPlanClip.positions = positions;
@@ -562,7 +585,7 @@ const drawSectionLine = () => {
success: function (graphic: any) {
// 绘制成功后回调
const positions = graphic.positionsShow;
- map.graphicLayer.clear();
+ graphicLayer.clear();
modelPlanClip.positions = positions;
}
@@ -581,7 +604,7 @@ const modelSectionOperate = (e: any, label: any) => {
// 图上选中模型
const selectModal = () => {
// 拾取点位
- map.graphicLayer.startDraw({
+ graphicLayer.startDraw({
type: "point",
style: {
color: "#00fff2"
@@ -657,7 +680,7 @@ const surfaceOpacityOperate = (e: any, label: any) => {
};
// 地形开挖---多边形
const btnDraw = () => {
- map.graphicLayer.startDraw({
+ graphicLayer.startDraw({
type: "polygon",
style: {
color: "#007be6",
@@ -666,10 +689,9 @@ const btnDraw = () => {
},
success: (graphic: any) => {
const positions = graphic.positionsShow;
- map.graphicLayer.clear();
+ graphicLayer.clear();
console.log(JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 打印下边界
- console.log(positions);
// 挖地区域
const areaItem = terrainClip.addArea(positions);
}
@@ -677,7 +699,7 @@ const btnDraw = () => {
};
// 地形开挖---矩形
const btnDrawExtent = () => {
- map.graphicLayer.startDraw({
+ graphicLayer.startDraw({
type: "rectangle",
style: {
color: "#007be6",
@@ -685,7 +707,7 @@ const btnDrawExtent = () => {
},
success: (graphic: any) => {
const positions = graphic.getOutlinePositions(false);
- map.graphicLayer.clear();
+ graphicLayer.clear();
console.log(JSON.stringify(mars3d.LngLatArray.toArray(positions))); // 打印下边界
@@ -704,7 +726,7 @@ const selectHeight = () => {
ElMessage("请先开始方量分析");
}
// 拾取高度
- map.graphicLayer.startDraw({
+ graphicLayer.startDraw({
type: "point",
style: {
color: "#00fff2"
@@ -712,7 +734,7 @@ const selectHeight = () => {
success: (graphic: any) => {
console.log(666);
const height = graphic.point?.alt;
- map.graphicLayer.removeGraphic(graphic);
+ graphicLayer.removeGraphic(graphic);
if (!height) {
return;
}
@@ -769,7 +791,11 @@ const volumeOperate = (e: any, label: any) => {
const clearShow = () => {
console.log(selectedName.value);
if (selectedName.value == "可视域") {
- graphicLayer.clear();
+ graphicLayer.getGraphics().map(item => {
+ if (item.type == "viewShed") {
+ graphicLayer.removeGraphic(item);
+ }
+ });
} else if (selectedName.value == "方量分析") {
measure.clear();
measureVolume = null;
@@ -820,7 +846,7 @@ const backMainMenu = () => {
} else if (name == "可视域") {
} else if (name == "方量分析") {
} else if (name == "地形开挖") {
- terrainClip.clear(); // 清除挖地区域
+ // terrainClip.clear(); // 清除挖地区域
} else if (name == "地表透明") {
underground.remove(); // 清除地表透明
allProperty.value.enabled = false;
diff --git a/src/views/goverment/frontLargeScreen/index.vue b/src/views/goverment/frontLargeScreen/index.vue
index 378e4f0..6b7d474 100644
--- a/src/views/goverment/frontLargeScreen/index.vue
+++ b/src/views/goverment/frontLargeScreen/index.vue
@@ -129,7 +129,7 @@
-
+
@@ -486,11 +486,26 @@ const getPlusConfig = async () => {
};
// 展示保存的地图标绘配置
const showMapData = (arr: any) => {
+ console.log(arr);
if (arr && arr.length > 0) {
arr.map(item => {
- if (item.type != "fixedRoute") {
- graphicLayer.addGraphic(item);
- console.log("111111111111111");
+ if (item.pitPrimitive && item.pitPrimitive.type == "pit") {
+ // 地形开挖
+ console.log(123456789);
+ if (item.pitPrimitive.style.imageBottom) {
+ const terrainClip = new mars3d.thing.TerrainClip({
+ diffHeight: item.pitPrimitive.style.diffHeight, // 井的深度
+ image: new URL("../../../assets/images/Mars3DImg/textures/poly-stone.jpg", import.meta.url).href,
+ imageBottom: new URL("../../../assets/images/Mars3DImg/textures/poly-soil.jpg", import.meta.url).href,
+ splitNum: 80, // 井边界插值数
+ enabled: true
+ });
+ map.addThing(terrainClip);
+ const positions = item.pitPrimitive.points || item.pitPrimitive.positions;
+ console.log(positions);
+ // 挖地区域
+ terrainClip.addArea(positions);
+ }
} else if (item.type == "fixedRoute") {
const newRoutePath = new mars3d.graphic.FixedRoute({
id: item.id,
@@ -540,6 +555,9 @@ const showMapData = (arr: any) => {
// 启动漫游
newRoutePath.flyTo();
newRoutePath.start();
+ } else {
+ graphicLayer.addGraphic(item);
+ console.log("111111111111111");
}
});
}
@@ -562,8 +580,25 @@ const getConfig = async () => {
const saveAddLayer = async (subGraphicLayer: any) => {
const geojson = subGraphicLayer.getGraphics(false);
console.log(geojson);
- // let allArr = layerJsonArr.value.concat(geojson);
- let requestData: any = { configKey: "layerConfig", configValue: JSON.stringify(geojson) };
+ let allArr = layerJsonArr.value.concat(geojson);
+ let requestData: any = { configKey: "layerConfig", configValue: JSON.stringify(allArr) };
+ if (layerJsonArr.value.length > 0) {
+ requestData.configId = layerId.value;
+ }
+ console.log(layerJsonArr.value);
+ const res = await updateSystemConfig(requestData);
+ console.log(res);
+ if (res.code == 200) {
+ ElMessage.success("操作成功");
+ }
+};
+// 单独保存空间分析操作
+const saveAnalysisLayer = async (subLayerData: any) => {
+ const geojson = subLayerData;
+ console.log(geojson);
+ let allArr = layerJsonArr.value.concat(geojson);
+ console.log(allArr);
+ let requestData: any = { configKey: "layerConfig", configValue: JSON.stringify(allArr) };
if (layerJsonArr.value.length > 0) {
requestData.configId = layerId.value;
}