| | |
| | | <template> |
| | | <div class="full-screen"> |
| | | <div id="map" ref="rootmap"></div> |
| | | <sgis-layer-controller :preset="'warningPreset'"> |
| | | <lc-basemap ref="lcBasemap"></lc-basemap> |
| | | </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> |
| | | <Message></Message> |
| | | </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 LcBasemap from '@components/LayerController/modules/LcBaseMap' |
| | | import MonitorPanel from '@components/panel/MonitorPanel' |
| | | import { mapMutations } from 'vuex' |
| | | import MonitorPanel from '@components/panel/RightSearchPanel' |
| | | // import TopEnterprisePanel from '@components/panel/TopEnterprisePanel' |
| | | // import summarySheets from '@components/table/summarySheets.vue'SummarySheet |
| | | import SummarySheet from '@components/table/summarySheets' |
| | | 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 ReportPopup from '../components/panel/topicSearch/EnterpriseEmergency/ReportPopup' |
| | | import Emergency from '@components/emergency/index' |
| | | import MapManager from '../components/helpers/MapManager' |
| | | import Message from '@components/message/index' |
| | | |
| | | export default { |
| | | name: 'MapTemplate', |
| | | components: {SgisLayerController, MonitorPanel, LcBasemap}, |
| | | data(){ |
| | | components: { |
| | | // Enterprise, |
| | | LegendPanel, |
| | | // MenuSpecial, |
| | | ToolBoxPanel, |
| | | // TopEnterprisePanel, |
| | | SgisLayerController, |
| | | MonitorPanel, |
| | | // summarySheets, |
| | | SummarySheet, |
| | | // PublicBounced, |
| | | Emergency, |
| | | Message, |
| | | ReportPopup |
| | | }, |
| | | data () { |
| | | return { |
| | | map: null, |
| | | lcServiceLayerVisible: false, |
| | | basemapHelper: {}, |
| | | serviceLayerHelper: {}, |
| | | vectorLayerHelper: {} |
| | | vectorLayerHelper: {}, |
| | | toolBoxVisible: false |
| | | } |
| | | }, |
| | | beforeMount(){ |
| | | this.$nextTick(() => { |
| | | this.init() |
| | | }) |
| | | computed: { |
| | | config () { |
| | | return this.$store.state.map.config |
| | | } |
| | | }, |
| | | methods:{ |
| | | ...mapMutations({ |
| | | setMapObj: 'setMapObj', |
| | | setBasemapHelper: 'setBasemapHelper', |
| | | setServiceLayerHelper: 'setServiceLayerHelper', |
| | | setVectorLayerHelper: 'setVectorLayerHelper', |
| | | }), |
| | | init() { |
| | | const mapcontainer = this.$refs.rootmap |
| | | this.mapObj = Sgis.initMap(mapcontainer) |
| | | console.log('01步骤:', this.mapObj) |
| | | 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.basemapHelper = Sgis.initBasemapsHelper(this.mapObj.map, this.mapObj.L) // 初始化基础底图助手 |
| | | this.basemapHelper.initBasemap(mapConfig, false) // 第二个参数,表示是否内网底图 |
| | | this.lcServiceLayerVisible = true |
| | | }, |
| | | init () { |
| | | const mapcontainer = this.$refs.rootmap |
| | | this.map = Sgis.initMap(mapcontainer) |
| | | this.$refs.toolBox.map = this.map |
| | | |
| | | this.serviceLayerHelper = Sgis.initTileLayersHelper(this.mapObj.map, this.mapObj.L) // 初始化业务底图助手 |
| | | this.serviceLayerHelper.initServiceLayers(mapConfig) |
| | | window.popupComp = this.$refs.popup |
| | | |
| | | this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.mapObj.map, this.mapObj.L) // 初始化动态要素图层助手 |
| | | this.vectorLayerHelper.initVectorLayers(mapConfig) |
| | | this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 初始化基础底图助手 |
| | | this.basemapHelper.initBasemap(this.config, false) // 第二个参数,表示是否内网底图 |
| | | this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 初始化动态要素图层助手 |
| | | this.vectorLayerHelper.initVectorLayers(this.config) |
| | | |
| | | console.log('02步骤:', this.basemapHelper) |
| | | this.$refs.lcBasemap.init(this.basemapHelper) |
| | | this.setBasemapHelper(this.basemapHelper) |
| | | this.setServiceLayerHelper(this.serviceLayerHelper) |
| | | this.setVectorLayerHelper(this.vectorLayerHelper) |
| | | return this.map |
| | | } |
| | | // this.AddGasHelper() |
| | | // this.ChangeWaterState() |
| | | var layerFactory = new LayerFactory({ |
| | | L: window.L, |
| | | map: 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() |
| | | window.mapManager.mapClickListener() |
| | | 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> |