| | |
| | | // import rqgw from "@/assets/json/rqgw" |
| | | import wsgw from "@/assets/json/wsgw" |
| | | import ysgw from "@/assets/json/ysgw" |
| | | import qyjgx from "@/assets/json/qyjgx" |
| | | import lx from "@/assets/json/lx" |
| | | import gt from "@/assets/json/gt" |
| | | import track from "@/assets/json/track" |
| | | import { onUnmounted } from 'vue' |
| | | import EventBus from 'utils/bus' |
| | |
| | | let iconEl = `<div class="marsBlueGradientPnl"> |
| | | <div>企业名称:${attrParams.firmName}</div> |
| | | <div>作用:${attrParams.mainFuncName}</div> |
| | | <div>容量:${attrParams.capacity}(m³)</div> |
| | | </div>` |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64), |
| | |
| | | let iconEl = `<div class="marsBlueGradientPnl"> |
| | | <div>企业名称:${attrParams.firmName}</div> |
| | | <div>作用:${attrParams.mainFuncName}</div> |
| | | <div>容量:${attrParams.capacity}(m³)</div> |
| | | </div>` |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64), |
| | |
| | | let iconEl = `<div class="marsBlueGradientPnl"> |
| | | <div>企业名称:${attrParams.firmName}</div> |
| | | <div>作用:${attrParams.mainFuncName}</div> |
| | | <div>容量:${attrParams.capacity}(m³)</div> |
| | | </div>` |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64), |
| | |
| | | let iconEl = `<div class="marsBlueGradientPnl"> |
| | | <div>企业名称:${attrParams.firmName}</div> |
| | | <div>作用:${attrParams.mainFuncName}</div> |
| | | <div>容量:${attrParams.capacity}(m³)</div> |
| | | </div>` |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64), |
| | |
| | | let iconEl = `<div class="marsBlueGradientPnl"> |
| | | <div>企业名称:${attrParams.firmName}</div> |
| | | <div>作用:${attrParams.mainFuncName}</div> |
| | | <div>容量:${attrParams.capacity}(m³)</div> |
| | | </div>` |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64), |
| | |
| | | color: DC.Color.CYAN.withAlpha(0.9), |
| | | height: 30, |
| | | }, |
| | | |
| | | { |
| | | parentId: '3', |
| | | id: '3-10', |
| | |
| | | layerName: 'track', |
| | | source: track, |
| | | color: DC.Color.BLUE.withAlpha(0.9), |
| | | height: 30, |
| | | }, |
| | | { |
| | | parentId: '3', |
| | | id: '3-11', |
| | | label: '企业级连接管网', |
| | | type: 'layer', |
| | | subType: 'geojsonPipe', |
| | | layerName: 'qyjgx', |
| | | source: qyjgx, |
| | | color: DC.Color.CYAN.withAlpha(0.9), |
| | | height: 30, |
| | | }, |
| | | ] |
| | |
| | | riskLevel: 1, |
| | | size: 1000 |
| | | }, |
| | | showParams: 'category', |
| | | showParams: 'firmName', |
| | | className: 'fxy-ordinary', |
| | | backgroundIcon: VITE_APP_BASE + 'img/mapicon/fxy-yb.png', |
| | | showPanel: false, |
| | |
| | | window.$viewer.addLayer(addPopLayers[attrParams.name]) |
| | | let iconEl = `<div class="marsBlueGradientPnl"> |
| | | <li>企业名称:${attrParams.firmName || ''}</li> |
| | | <li>行业类别:${attrParams.category || ''}</li> |
| | | <li>风险等级:${attrParams.riskLevelName || ''}</li> |
| | | <li>行业类别:${attrParams.name || ''}</li> |
| | | <li>风险物资:${attrParams.name || ''}</li> |
| | | </div>` |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64), |
| | |
| | | riskLevel: 2, |
| | | size: 1000 |
| | | }, |
| | | showParams: 'category', |
| | | showParams: 'firmName', |
| | | className: 'fxy-larger-b', |
| | | backgroundIcon: VITE_APP_BASE + 'img/mapicon/fxy-zd-b.png', |
| | | showPanel: false, |
| | |
| | | window.$viewer.addLayer(addPopLayers[attrParams.name]) |
| | | let iconEl = `<div class="marsBlueGradientPnl"> |
| | | <li>企业名称:${attrParams.firmName || ''}</li> |
| | | <li>行业类别:${attrParams.category || ''}</li> |
| | | <li>风险等级:${attrParams.riskLevelName || ''}</li> |
| | | <li>行业类别:${attrParams.name || ''}</li> |
| | | <li>风险物资:${attrParams.name || ''}</li> |
| | | </div>` |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64), |
| | |
| | | riskLevel: 3, |
| | | size: 1000 |
| | | }, |
| | | showParams: 'category', |
| | | showParams: 'firmName', |
| | | className: 'fxy-larger', |
| | | backgroundIcon: VITE_APP_BASE + 'img/mapicon/fxy-jd.png', |
| | | showPanel: false, |
| | |
| | | window.$viewer.addLayer(addPopLayers[attrParams.name]) |
| | | let iconEl = `<div class="marsBlueGradientPnl"> |
| | | <li>企业名称:${attrParams.firmName || ''}</li> |
| | | <li>行业类别:${attrParams.category || ''}</li> |
| | | <li>风险等级:${attrParams.riskLevelName || ''}</li> |
| | | <li>行业类别:${attrParams.name || ''}</li> |
| | | <li>风险物资:${attrParams.name || ''}</li> |
| | | </div>` |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64), |
| | |
| | | riskLevel: 9, |
| | | size: 1000 |
| | | }, |
| | | showParams: 'category', |
| | | showParams: 'firmName', |
| | | className: 'fxy-zd', |
| | | backgroundIcon: VITE_APP_BASE + 'img/mapicon/fxy-zd.png', |
| | | showPanel: false, |
| | |
| | | divIcon.on(DC.MouseEventType.CLICK, incident) |
| | | addPopLayers[attrParams.name].addOverlay(divIcon) |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | parentId: '4', |
| | | id: '4-5', |
| | | label: '路线', |
| | | type: 'layer', |
| | | subType: 'geojsonLx', |
| | | layerName: 'lx', |
| | | source: lx, |
| | | color: DC.Color.CYAN.withAlpha(0.9), |
| | | height: 30, |
| | | }, |
| | | { |
| | | parentId: '4', |
| | | id: '4-6', |
| | | label: '岗亭', |
| | | type: 'layer', |
| | | subType: 'geojsonGt', |
| | | layerName: 'gt', |
| | | showPanel: false, |
| | | className: 'gt-zd', |
| | | source: gt, |
| | | color: DC.Color.CYAN.withAlpha(0.9), |
| | | backgroundIcon: VITE_APP_BASE + 'img/mapicon/gt.png', |
| | | height: 30, |
| | | }, |
| | | ] |
| | | }, |
| | | |
| | |
| | | collectNodesWithFlag(data) |
| | | |
| | | collectedNodes.value.forEach(item => { |
| | | // console.log(item, 1111111111111111112) |
| | | if (options?.some(i => i.id == item.id)) { |
| | | |
| | | // const window.$Cesium = DC |
| | |
| | | i.geometry.coordinates.map(d => [d[0], d[1], item.height].join(',')).join(';'), |
| | | computeCircle(1.6) |
| | | ) |
| | | |
| | | if ('RefName' in i.properties && i.properties.RefName.indexOf('拟建') != -1) { |
| | | polylineVolume.setStyle({ |
| | | material: DC.Color.fromBytes(255, 0, 0, 230) |
| | |
| | | material: item.color |
| | | }) |
| | | } |
| | | |
| | | // 雨水管网流向 |
| | | if (item.layerName === 'ysgw') { |
| | | let ss = i.properties.qd + ',' + item.height + ';' + i.properties.zd + ',' + item.height |
| | | let polyline1 = new DC.Polyline(ss) |
| | | polyline1.setStyle({ |
| | | width: 10, |
| | | arcType: 1, |
| | | material: new DC.PolylineImageTrailMaterialProperty({ |
| | | color: DC.Color.GREEN, |
| | | speed: 20, |
| | | image: VITE_APP_BASE + 'img/mapicon/right.png', |
| | | repeat: { x: 30, y: 1 } |
| | | }), |
| | | clampToGround: false |
| | | }) |
| | | addTileLayers[item.layerName].addOverlay(polyline1) |
| | | } |
| | | addTileLayers[item.layerName].addOverlay(polylineVolume) |
| | | }) |
| | | } else { |
| | |
| | | clampToGround: true |
| | | }) |
| | | addTileLayers[item.layerName].addOverlay(Polyline) |
| | | }) |
| | | } else { |
| | | addTileLayers[item.layerName].show = true |
| | | } |
| | | // 路线 |
| | | } else if (item.subType == 'geojsonLx') { |
| | | if (!addTileLayers[item.layerName]) { |
| | | addTileLayers[item.layerName] = new DC.VectorLayer(item.layerName) |
| | | window.$viewer.addLayer(addTileLayers[item.layerName]) |
| | | |
| | | item.source.features.forEach(i => { |
| | | let ss = i.geometry.coordinates.map(d => [...d, item.height].join(',')).join(';') |
| | | let Polyline = new DC.Polyline(i.geometry.coordinates.map(d => [...d, item.height].join(',')).join(';')) |
| | | |
| | | Polyline.setStyle({ |
| | | width: 3, |
| | | // material: DC.Color.BLUE, |
| | | material: new DC.PolylineTrailMaterialProperty({ |
| | | color: DC.Color.RED, |
| | | speed: 10 |
| | | }), |
| | | clampToGround: true |
| | | }) |
| | | addTileLayers[item.layerName].addOverlay(Polyline) |
| | | }) |
| | | } else { |
| | | addTileLayers[item.layerName].show = true |
| | | } |
| | | // 岗亭 |
| | | } else if (item.subType == 'geojsonGt') { |
| | | // if (!addTileLayers[item.layerName]) { |
| | | // addTileLayers[item.layerName] = new DC.VectorLayer(item.layerName) |
| | | // window.$viewer.addLayer(addTileLayers[item.layerName]) |
| | | |
| | | // item.source.features.forEach(i => { |
| | | // let iconEl = '' |
| | | // if ('showPanel' in item && item.showPanel == false) { |
| | | // if (item.backgroundIcon) { |
| | | // iconEl = ` |
| | | // <div class="map-name">${i.properties.O_Name}</div> |
| | | // <div class="map-icon"> |
| | | // <img src="${item.backgroundIcon}"> |
| | | // </div> |
| | | // ` |
| | | // } |
| | | // } else { |
| | | // iconEl = `<div class="marsBlueGradientPnl"> |
| | | // <div>${i.properties.O_Name}</div> |
| | | // </div>` |
| | | // } |
| | | // console.log(i.geometry.coordinates[0], "2222222222222222222") |
| | | // console.log(i.properties.O_Name, "3333333333333333") |
| | | |
| | | // let divIcon = new DC.DivIcon( |
| | | // new DC.Position('115.60241996718104', '29.818985725785911'), |
| | | // `<div class="public-map-popup ${item.className || ''}"> |
| | | // ${iconEl} |
| | | // </div>` |
| | | // ) |
| | | |
| | | // addTileLayers[item.layerName].addOverlay(divIcon) |
| | | // }) |
| | | // } else { |
| | | // addTileLayers[item.layerName].show = true |
| | | // } |
| | | if (!addTileLayers[item.layerName]) { |
| | | addTileLayers[item.layerName] = new DC.HtmlLayer(item.layerName) |
| | | window.$viewer.addLayer(addTileLayers[item.layerName]) |
| | | |
| | | // item.method(item.params).then(res => { |
| | | // let data = res.data.data.records |
| | | |
| | | |
| | | item.source.features.forEach(i => { |
| | | let iconEl = '' |
| | | |
| | | if ('showPanel' in item && item.showPanel == false) { |
| | | if (item.backgroundIcon) { |
| | | iconEl = ` |
| | | <div class="map-name">${i.properties.O_Name}</div> |
| | | <div class="map-icon"> |
| | | <img src="${item.backgroundIcon}"> |
| | | </div> |
| | | ` |
| | | } |
| | | } else { |
| | | iconEl = `<div class="marsBlueGradientPnl"> |
| | | <div>${i.properties.O_Name}</div> |
| | | </div>` |
| | | } |
| | | |
| | | let divIcon = new DC.DivIcon( |
| | | new DC.Position(i.geometry.coordinates[0], i.geometry.coordinates[1], i.ele || 64), |
| | | `<div class="public-map-popup ${item.className || ''}"> |
| | | ${iconEl} |
| | | </div>` |
| | | ) |
| | | |
| | | divIcon.attrParams = i |
| | | |
| | | // let incident = () => { |
| | | // } |
| | | |
| | | // if (item.incident) incident = item.incident |
| | | |
| | | // divIcon.on(DC.MouseEventType.CLICK, (e) => { |
| | | // if (mapStore.editPoint) { |
| | | // moveEntity = e |
| | | // return |
| | | // } |
| | | |
| | | // if (mapStore.startCustomWx && item.customWx) { |
| | | // EventBus.emit('wxEntityClick', e) |
| | | // return |
| | | // } |
| | | |
| | | // incident(e) |
| | | // }) |
| | | |
| | | addTileLayers[item.layerName].addOverlay(divIcon) |
| | | // }) |
| | | }) |
| | | } else { |
| | | addTileLayers[item.layerName].show = true |
| | |
| | | delete addTileLayers[item.layerName] |
| | | |
| | | if (item.layerName == 'ysgw' && planToBuild) { |
| | | planToBuild.clear() |
| | | } |
| | | if (item.layerName == 'qyjgx' && planToBuild) { |
| | | planToBuild.clear() |
| | | } |
| | | } |
| | |
| | | EventBus.emit('restHandleDelChange', `3-7`) |
| | | EventBus.emit('restHandleDelChange', `3-8`) |
| | | EventBus.emit('restHandleDelChange', `3-9`) |
| | | EventBus.emit('restHandleDelChange', `3-11`) |
| | | |
| | | EventBus.emit('restHandleDelChange', `4-1`) |
| | | EventBus.emit('restHandleDelChange', `4-2`) |
| | | EventBus.emit('restHandleDelChange', `4-3`) |
| | | EventBus.emit('restHandleDelChange', `4-9`) |
| | | EventBus.emit('restHandleDelChange', `4-5`) |
| | | EventBus.emit('restHandleDelChange', `4-6`) |
| | | |
| | | destroyPop() |
| | | } |