From d92a0a69eb34350bc94df1df6fbbc6749205a482 Mon Sep 17 00:00:00 2001 From: wangqi <magical1908@outlook.com> Date: 星期四, 25 三月 2021 15:04:41 +0800 Subject: [PATCH] json文件 --- src/views/MapTemplate.vue | 185 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 143 insertions(+), 42 deletions(-) diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue index b7bac3b..e40f80b 100644 --- a/src/views/MapTemplate.vue +++ b/src/views/MapTemplate.vue @@ -1,44 +1,59 @@ <template> - <div class="full-screen"> - <popup ref="popup" @callPopup="callPopup"></popup> - <div id="map" ref="rootmap"> - </div> - <sgis-layer-controller :preset="'warningPreset'"> - <lc-basemap></lc-basemap> - <!-- <div class="barline"></div>--> - <lc-service-layer class="barline" v-if="lcServiceLayerVisible"></lc-service-layer> - </sgis-layer-controller> - <monitor-panel></monitor-panel> - <top-enterprise-panel></top-enterprise-panel> - <tool-box-panel></tool-box-panel> - <menu-special></menu-special> + <div class="full-screen"> + <popup ref="popup" @callPopup="callPopup"></popup> + <popup-gas ref="popupGas" @popupgas="popupgas"></popup-gas> + <div id="map" ref="rootmap"> </div> + <sgis-layer-controller :preset="'warningPreset'"> + <lc-basemap></lc-basemap> + <!-- <div class="barline"></div>--> + <lc-service-layer class="barline" v-if="lcServiceLayerVisible"></lc-service-layer> + </sgis-layer-controller> + <monitor-panel></monitor-panel> +<!-- <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> + <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>--> + </div> </template> <script> import 'leaflet/dist/leaflet.css' import Sgis from '@src/Sgis' +// import Vue from 'vue' +import creatPopup from './creatPopup.js' // import mapConfig from '@/conf/MapConfig' import SgisLayerController from '@components/LayerController/LayerController' import LcBasemap from '@components/LayerController/modules/LcBaseMap' import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer' import MonitorPanel from '@components/panel/RightSearchPanel' -import TopEnterprisePanel from '@components/panel/TopEnterprisePanel' +// import TopEnterprisePanel from '@components/panel/TopEnterprisePanel' +import summarySheets from '@components/table/summarySheets.vue' import ToolBoxPanel from '@components/panel/ToolBoxPanel' import Popup from '@views/popup/Popup' -import MenuSpecial from '@components/panel/MenuSpecial' +// import MenuSpecial from '@components/panel/MenuTopic' +import LegendPanel from '@components/panel/LegendPanel' +import Enterprise from '../components/table/enterprise' +import PopupGas from '@/components/flueGas/popup-gas' export default { name: 'MapTemplate', components: { - MenuSpecial, + Enterprise, + LegendPanel, + // MenuSpecial, ToolBoxPanel, - TopEnterprisePanel, + // TopEnterprisePanel, SgisLayerController, MonitorPanel, LcBasemap, LcServiceLayer, - Popup + Popup, + summarySheets, + PopupGas }, data () { return { @@ -55,6 +70,9 @@ } }, beforeMount () { + // import('@/assets/airQuality.json').then(res => { + // console.log(res.features) + // }) this.$nextTick(() => { this.init() }) @@ -69,15 +87,17 @@ this.lcServiceLayerVisible = true }, - init () { + init: function () { const mapcontainer = this.$refs.rootmap this.map = Sgis.initMap(mapcontainer) + this.$refs.toolBox.map = this.map this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜 this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘 this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵� - this.serviceLayerHelper.initServiceLayers(this.config) + console.log('-------' + this.$refs.popup.$el) + this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup) this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵� this.vectorLayerHelper.initVectorLayers(this.config) @@ -87,9 +107,13 @@ // this.setBasemapHelper(this.basemapHelper) // this.setServiceLayerHelper(this.serviceLayerHelper) // this.setVectorLayerHelper(this.vectorLayerHelper) - this.addMarker() + import('@/assets/airQuality.json').then(res => { + // this.addMarker() + this.addMarker(res.features) + }) + // console.log(this.L) }, - addMarker () { + addMarker (arr) { const L = this.L var icon = new L.Icon({ iconUrl: 'assets/images/map/marker-icon.png', @@ -99,7 +123,8 @@ popupAnchor: [1, -34], shadowSize: [41, 41] }) - var marker = L.marker([32.2221, 118.7843], { + // 00000000000000000000 + var marker = L.marker([32.222, 118.7843], { icon: icon }).addTo(this.map) .bindPopup(() => this.$refs.popup.$el, { @@ -115,14 +140,81 @@ // sticky:true,//鏄惁鏍囪鍦ㄧ偣涓婇潰 className: 'anim-tooltip'// CSS鎺у埗 }) - marker.on('popupopen', this.onLayerClick) + // 000000000000000000 + // 搴熸皵 + // const MagicMarker = new L.marker.magic([32.226, 118.7848], { + // iconUrl: 'assets/images/map/marker-icon.png', + // magic: 'vanishIn' + // }).addTo(this.map) + arr.forEach(item => { + const { geometry: { coordinates } } = item + const coordinate = coordinates.map(item => parseFloat(item)) + const data = creatPopup({ isShow: true, tirm: '666' }) + console.log(item.properties.name) + // console.log(coordinate) + L.marker(coordinate, { icon: icon }).addTo(this.map).bindPopup(() => data, { + className: 's-map-popup', + minWidth: 300, + closeButton: false, + autoClose: false + }).bindTooltip(item.properties.name, { + // permanent : true, + offset: [0, 0], // 鍋忕Щ + direction: 'right', // 鏀剧疆浣嶇疆 + // sticky:true,//鏄惁鏍囪鍦ㄧ偣涓婇潰 + className: 'anim-tooltip'// CSS鎺у埗 + }) + }) + // marker.on('popupopen', this.onClickgaspoppup) + // console.log(this.$refs) + // L.marker([38.8332098722457, 117.447918949615], { + // icon: icon + // }).addTo(this.map) + // var marker = L.marker([32.222, 118.7843], { + // icon: icon + // }).addTo(this.map) + // .bindPopup(() => data, { + // className: 's-map-popup', + // minWidth: 300, + // closeButton: false, + // autoClose: false + // }) + // .bindTooltip('瀛椾綋鍏夋檿鏁堟灉t.', { + // // permanent : true, + // offset: [0, 0], // 鍋忕Щ + // direction: 'right', // 鏀剧疆浣嶇疆 + // // sticky:true,//鏄惁鏍囪鍦ㄧ偣涓婇潰 + // className: 'anim-tooltip'// CSS鎺у埗 + // }) + // + // L.marker([32.229, 118.7843], { + // icon: icon + // }).addTo(this.map) + // .bindPopup(() => data1, { + // className: 's-map-popup', + // minWidth: 300, + // closeButton: false, + // autoClose: false + // }) + // .bindTooltip('瀛椾綋鍏夋檿鏁堟灉t.', { + // // permanent : true, + // offset: [0, 0], // 鍋忕Щ + // direction: 'right', // 鏀剧疆浣嶇疆 + // // sticky:true,//鏄惁鏍囪鍦ㄧ偣涓婇潰 + // className: 'anim-tooltip'// CSS鎺у埗 + // }) + // + // marker.on('popupopen', this.onLayerClick) }, onLayerClick () { this.$refs.popup.setShow() }, callPopup (val) { console.log(val) + }, + popupgas () { + console.log(1) } } } @@ -130,23 +222,32 @@ <style lang="less"> - .full-screen { - width: 100%; - height: 100%; - margin: 0; - padding: 0; - position: absolute; +.full-screen { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + position: absolute; - #map { - height: 100%; - width: 100%; - } + #map { + height: 100%; + width: 100%; + } - .barline { - //width: 100%; - //height: 1px; - //background-color: #0661AE; - border-top: 1px solid #0661AE; - } - } -</style>> + .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; + } +} +</style> -- Gitblit v1.8.0