From 8b207d4ea5a01c64f639464cebf54ea99d998d14 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 12 Nov 2024 18:10:24 +0800
Subject: [PATCH] 应急空间点击定位,到指定位置,企业应急空间,点击图标上图
---
src/views/space/components/box/dataContent.vue | 79 +++++++++++++++++----------------------
1 files changed, 35 insertions(+), 44 deletions(-)
diff --git a/src/views/space/components/box/dataContent.vue b/src/views/space/components/box/dataContent.vue
index 33fc026..79f9527 100644
--- a/src/views/space/components/box/dataContent.vue
+++ b/src/views/space/components/box/dataContent.vue
@@ -52,7 +52,7 @@
total: 0,
}
-function positionColor () {
+function positionColor() {
return (row) => {
if (
(row.X && row.X != 0) ||
@@ -67,7 +67,7 @@
}
}
-function positionDisabled () {
+function positionDisabled() {
return (row) => {
if (
(row.X && row.X != 0) ||
@@ -137,50 +137,42 @@
})
}
-// 行点击
-function rowClick (row) {
- // 读取定位飞
- window.$viewer.zoomToPosition(new DC.Position(
- Number(row.lng),
- Number(row.lat),
- 800,
- 0,
- -80,
- 0
- ), () => {
- })
+let state = reactive({
+ layer: {}
+})
- // let layer = new DC.VectorLayer('layer')
- // window.$viewer.addLayer(layer)
- // let positions = generatePosition(row.lng, row.lat)
- // let material = new DC.PolylineDashMaterialProperty({
- // color: DC.Color.ORANGE
- // })
- // positions.forEach(item => {
- // let label = new DC.CustomLabel(
- // item,
- // row.name
- // )
- // label.setStyle({
- // fillColor: DC.Color.YELLOW,
- // font: '12px',
- // pixelOffset: { x: 0, y: -10 }
- // })
- // label.setVLine({
- // width: 2,
- // material
- // })
- // layer.addOverlay(label)
- // })
+
+// 行点击
+function rowClick(row) {
+
+ if (state.layer) {
+ window.$viewer.removeLayer(state.layer)
+ }
+ let layer = new DC.HtmlLayer(`${row.id}`)
+ state.layer = layer
+ window.$viewer.addLayer(layer)
+ let iconEl = `<div class="marsBlueGradientPnl">
+ <div>${row.name}</div>
+ </div>`
+ let divIcon = new DC.DivIcon(
+ new DC.Position(row.lng, row.lat, 0),
+ `<div class="public-map-popup">
+ ${iconEl}
+ </div>`
+ )
+ // divIcon.attrParams = row
+ let incident = () => { }
+ // if (item.incident) incident = item.incident
+ divIcon.on(DC.MouseEventType.CLICK, incident)
+ layer.addOverlay(divIcon)
+
+ window.$viewer.flyToPosition(new DC.Position(row.lng, row.lat, 600, 0, -90, 0))
+
}
-function generatePosition (lng, lat) {
- let list = []
- list.push(new DC.Position(lng, lat, 100))
- return list
-}
+
// 查看详情
-function goDetail (row) { }
+function goDetail(row) { }
const searchBtn = (params) => {
resetPage()
@@ -210,8 +202,7 @@
<template>
<div class="w100 h0 flex-1 flex f-d-c">
- <global-search :options="options" @searchBtn="searchBtn" @resetBtn="resetBtn"
- ref="SeachBarCondition"></global-search>
+ <global-search :options="options" @searchBtn="searchBtn" @resetBtn="resetBtn" ref="SeachBarCondition"></global-search>
<div class="h0 flex-1 table-content" ref="TableContent">
<el-table :data="tableData" :height="curTableHeight" style="width: 100%" v-loading="loading">
--
Gitblit v1.9.3