From 3b79ee564d4c77189484711ece4dc80786f79080 Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期一, 17 五月 2021 14:34:20 +0800
Subject: [PATCH] 定位、高亮重封装
---
src/views/MapTemplate.vue | 216 ++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 168 insertions(+), 48 deletions(-)
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 6ee012d..67a6523 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -1,67 +1,187 @@
<template>
- <div class="full-screen">
- <div id="map" ref="rootmap"></div>
- <sgis-layer-controller :preset="'warningPreset'"></sgis-layer-controller>
+ <div class="full-screen">
+ <!--<popup ref="popup" @callPopup="callPopup"></popup>-->
+ <div id="map" ref="rootmap">
+ </div>
+ <sgis-layer-controller></sgis-layer-controller>
<monitor-panel></monitor-panel>
- </div>
+ <!-- <top-enterprise-panel></top-enterprise-panel>-->
+ <tool-box-panel ref="toolBox"></tool-box-panel>
+ <!-- <menu-special></menu-special>-->
+ <legend-panel></legend-panel>
+ <!-- <summary-sheets></summary-sheets>-->
+ <SummarySheet></SummarySheet>
+ <!-- <enterprise></enterprise> -->
+ <!-- <el-button id="map-btn" el-icon-c-scale-to-original icon="el-icon-c-scale-to-original" circle @click="isShowHidden"></el-button>-->
+ <!-- <el-button type="primary" @click="ChangeState" class="solid-waste">鍥哄簾</el-button>-->
+ <!-- <el-button type="primary" @click="ChangeWaterState" class="Waste-water">搴熸按</el-button>-->
+ <!-- <el-button type="primary" @click="AddGasHelper" class="flue-gas">搴熸皵</el-button>-->
+<!-- <PublicBounced ref="PublicBounced"></PublicBounced>-->
+<!-- <ReportPopup></ReportPopup>-->
+ <Emergency ref="Emergency"></Emergency>
+ </div>
</template>
<script>
import 'leaflet/dist/leaflet.css'
import Sgis from '@src/Sgis'
-import mapConfig from '@/conf/MapConfig'
+// import mapConfig from '@/conf/MapConfig'
import SgisLayerController from '@components/LayerController/LayerController'
-import MonitorPanel from '@components/panel/MonitorPanel'
-import { mapMutations, mapState } from 'vuex'
+import MonitorPanel from '@components/panel/RightSearchPanel'
+// import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
+// import summarySheets from '@components/table/summarySheets.vue'
+import SummarySheet from '@components/table/SummarySheet'
+import ToolBoxPanel from '@components/panel/ToolBoxPanel'
+// import MenuSpecial from '@components/panel/MenuTopic'
+import LegendPanel from '@components/panel/LegendPanel'
+// import Enterprise from '../components/table/enterprise'
+// // 鍏叡灞曠ず鏁版嵁
+// import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
+import LayerFactory from '@components/LayerController/service/LayerFactory'
+import EventHandler from '../components/LayerController/event/EventHandler'
+// import ReportPopup from '../components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ReportPopup'
+import Emergency from '@components/emergency/index'
+import MapManager from '../components/helpers/MapManager'
export default {
name: 'MapTemplate',
- components: {SgisLayerController, MonitorPanel},
- datas:{
- ...mapState("/",{})
+ components: {
+ // Enterprise,
+ LegendPanel,
+ // MenuSpecial,
+ ToolBoxPanel,
+ // TopEnterprisePanel,
+ SgisLayerController,
+ MonitorPanel,
+ // summarySheets,
+ SummarySheet,
+ // PublicBounced,
+ Emergency
+ // ReportPopup
},
- mounted(){
- this.$nextTick(() => {
- this.init()
+ data () {
+ return {
+ map: null,
+ lcServiceLayerVisible: false,
+ basemapHelper: {},
+ serviceLayerHelper: {},
+ vectorLayerHelper: {},
+ toolBoxVisible: false
+ }
+ },
+ computed: {
+ config () {
+ return this.$store.state.map.config
+ }
+ },
+ beforeMount () {
+ this.$nextTick(() => {
+ this.init()
+ })
+ },
+ methods: {
+ saveMapStatus () {
+ window.serviceLayerHelper = this.serviceLayerHelper
+ this.$store.commit('setMapObj', this.map)
+ this.$store.commit('setBasemapHelper', this.basemapHelper)
+ // this.$store.commit('setServiceLayerHelper', this.serviceLayerHelper)
+ this.$store.commit('setVectorLayerHelper', this.vectorLayerHelper)
+
+ this.lcServiceLayerVisible = true
+ },
+ init () {
+ const mapcontainer = this.$refs.rootmap
+ this.map = Sgis.initMap(mapcontainer)
+ this.$refs.toolBox.map = this.map
+
+ window.popupComp = this.$refs.popup
+
+ this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
+ this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
+ this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
+ this.vectorLayerHelper.initVectorLayers(this.config)
+
+ // this.AddGasHelper()
+ // this.ChangeWaterState()
+
+ var eventHandler = new EventHandler()
+ window.eventHandler = eventHandler
+
+ var layerFactory = new LayerFactory({
+ L: window.L,
+ map: this.map
})
- },
- methods:{
- ...mapMutations({
- setMapObj: 'setMapObj',
- setLayerHelper: 'setLayerHelper'
- }),
- init() {
- const mapcontainer = this.$refs.rootmap
- this.mapObj = Sgis.initMap(mapcontainer)
-
- this.basemapHelper = Sgis.initBasemapsHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
- this.basemapHelper.initBasemap(mapConfig, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
-
-
- this.serviceLayerHelper = Sgis.initTileLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
- this.serviceLayerHelper.initServiceLayers()
-
- this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
- this.vectorLayerHelper.initVectorLayers()
-
- this.setLayerHelper(this.vectorLayerHelper)
- return this.map
- }
+ layerFactory.init(this.$store.state.map.serviceLayers.LayerSewersLine)
+ layerFactory.initEvent(this.$store.state.map.serviceLayers.LayerSewersLine)
+ window.layerFactory = layerFactory
+ window.mapManager = new MapManager()
+ this.saveMapStatus()
+ // this.setMapObj(this.mapObj)
+ // this.setBasemapHelper(this.basemapHelper)
+ // this.setServiceLayerHelper(this.serviceLayerHelper)
+ // this.setVectorLayerHelper(this.vectorLayerHelper)
+ },
+ callPopup (val) {
+ console.log(val)
+ }
}
}
</script>
<style lang="less">
+ .flue-gas {
+ position: fixed;
+ top: 88px;
+ left: 180px;
+ z-index: 500;
+ }
-.full-screen{
- width: 100%;
- height: 100%;
- margin: 0;
- padding: 0;
- position: absolute;
- #map{
- height: 100%;
- width: 100%;
- }
-}
-</style>>
+ .solid-waste {
+ position: absolute;
+ top: 88px;
+ left: 88px;
+ z-index: 999;
+ }
+
+ .full-screen {
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+ position: absolute;
+
+ #map {
+ height: 100%;
+ width: 100%;
+ }
+
+ .barline {
+ //width: 100%;
+ //height: 1px;
+ //background-color: #0661AE;
+ border-top: 1px solid #0661AE;
+ }
+
+ #map-btn {
+ position: fixed;
+ top: 20px;
+ left: 100px;
+ z-index: 9999;
+ }
+
+ .leaflet-custom-icon {
+ background: white;
+ }
+
+ .leaflet-marker-icon {
+ background: none;
+ }
+
+ #migic {
+ width: 48px;
+ height: 48px;
+ margin: -18px -20px;
+ z-index: 999;
+ }
+ }
+</style>
--
Gitblit v1.8.0