import Vue from 'vue' import Vuex from 'vuex' import OLCesium from 'olcs/OLCesium.js' import 'ol/ol.css' import OlView from 'ol/View.js' import { // eslint-disable-next-line no-unused-vars defaults as OlControlDefaults, defaults, // 全屏控件 FullScreen, // 比例尺控件 ScaleLine, // 缩放滚动条控件 // eslint-disable-next-line no-unused-vars ZoomSlider, // 鼠标位置控件 // eslint-disable-next-line no-unused-vars MousePosition, // -地图属性控件 Attribution, // 鹰眼控件 // eslint-disable-next-line no-unused-vars OverviewMap, // 缩放到范围控件 // eslint-disable-next-line no-unused-vars ZoomToExtent, Rotate } from 'ol/control.js' import OlSourceOSM from 'ol/source/OSM.js' import OlLayerTile from 'ol/layer/Tile.js' import OlMap from 'ol/Map.js' import { TileSuperMapRest } from '@supermap/iclient-ol' import XYZ from 'ol/source/XYZ' import VectorLayer from 'ol/layer/Vector' import VectorSource from 'ol/source/Vector' import TileArcGISRest from 'ol/source/TileArcGISRest' import * as auth from '@/utils/auth' import { LOG_OUT } from './mutation-types' Vue.use(Vuex) export default new Vuex.Store({ state: { mapscene: { val: '' }, openlayers: { map2D: new OlMap({ layers: [ new OlLayerTile({ zIndex: 1, title: '捷泰', source: new XYZ({ url: 'http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}' }) }), new OlLayerTile({ zIndex: 7, title: '行政区', source: new TileArcGISRest({ projection: 'EPSG:4326', url: 'http://59.55.128.156:6080/arcgis/rest/services/fzxzq/MapServer' }) }) ], view: new OlView({ center: [0, 0], zoom: 2, projection: 'EPSG:4326' }), // 注意地图控件的写法 controls: defaults().extend([ new FullScreen(), new ScaleLine(), // new MousePosition(), new Rotate(), new Attribution() ]) }), map3D: null, waterAllLayer: new OlLayerTile({ zIndex: 8, title: '水系图', source: new TileArcGISRest({ projection: 'EPSG:4326', url: 'http://59.55.128.156:6080/arcgis/rest/services/fuzhoupcsdhl/MapServer' }) }), riversLayer: new VectorLayer({ // 图标图层 zIndex: 8, source: new VectorSource() }), riverwayIconLayer: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), riverwayIconLayerYJ: new VectorLayer({ // 图标图层 zIndex: 25, source: new VectorSource() }), reservoirIconLayer: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), reservoirIconLayerYJ: new VectorLayer({ // 图标图层 zIndex: 25, source: new VectorSource() }), rainWaterIconLayerOne: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), rainWaterIconLayerTwo: new VectorLayer({ // 图标图层 zIndex: 21, source: new VectorSource() }), rainWaterIconLayerThree: new VectorLayer({ // 图标图层 zIndex: 22, source: new VectorSource() }), rainWaterIconLayerFour: new VectorLayer({ // 图标图层 zIndex: 23, source: new VectorSource() }), rainWaterIconLayerFive: new VectorLayer({ // 图标图层 zIndex: 24, source: new VectorSource() }), rainWaterIconLayerSix: new VectorLayer({ // 图标图层 zIndex: 25, source: new VectorSource() }), rainWaterGeoJson: new VectorLayer({ // 图标图层 zIndex: 10, source: new VectorSource() }), // 风险预警中山洪灾害 riskLayerNot: new VectorLayer({ // 图标图层 zIndex: 18, source: new VectorSource() }), riskLayerNormal: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), riskLayerWarn: new VectorLayer({ // 图标图层 zIndex: 22, source: new VectorSource() }), swzsiteLayer: new VectorLayer({ // 图标图层 zIndex: 25, source: new VectorSource() }), siteLayer: new VectorLayer({ // 图标图层 zIndex: 25, source: new VectorSource() }), swzsiteLayerWarn: new VectorLayer({ // 图标图层 zIndex: 26, source: new VectorSource() }), siteLayerWarn: new VectorLayer({ // 图标图层 zIndex: 26, source: new VectorSource() }), riverPointText: new OlLayerTile({ // 图标图层 zIndex: 18, title: '乡镇点', source: new TileArcGISRest({ projection: 'EPSG:4326', url: 'http://59.55.128.156:6080/arcgis/rest/services/fuzhouxzzd/MapServer' }) }), riskOneLayerOne: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), riskOneLayerTwo: new VectorLayer({ // 图标图层 zIndex: 21, source: new VectorSource() }), riskOneLayerThree: new VectorLayer({ // 图标图层 zIndex: 22, source: new VectorSource() }), riskOneLayerFour: new VectorLayer({ // 图标图层 zIndex: 23, source: new VectorSource() }), riskOneLayerFive: new VectorLayer({ // 图标图层 zIndex: 24, source: new VectorSource() }), riskOneLayerSix: new VectorLayer({ // 图标图层 zIndex: 25, source: new VectorSource() }), riskTwoLayerOne: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), riskTwoLayerTwo: new VectorLayer({ // 图标图层 zIndex: 21, source: new VectorSource() }), riskTwoLayerThree: new VectorLayer({ // 图标图层 zIndex: 22, source: new VectorSource() }), riskTwoLayerFour: new VectorLayer({ // 图标图层 zIndex: 23, source: new VectorSource() }), riskTwoLayerFive: new VectorLayer({ // 图标图层 zIndex: 24, source: new VectorSource() }), riskTwoLayerSix: new VectorLayer({ // 图标图层 zIndex: 25, source: new VectorSource() }), riskThreeLayerOne: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), riskThreeLayerTwo: new VectorLayer({ // 图标图层 zIndex: 21, source: new VectorSource() }), riskThreeLayerThree: new VectorLayer({ // 图标图层 zIndex: 22, source: new VectorSource() }), riskThreeLayerFour: new VectorLayer({ // 图标图层 zIndex: 23, source: new VectorSource() }), riskThreeLayerFive: new VectorLayer({ // 图标图层 zIndex: 24, source: new VectorSource() }), riskThreeLayerSix: new VectorLayer({ // 图标图层 zIndex: 25, source: new VectorSource() }), soilIconLayerOne: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), soilIconLayerTwo: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), soilIconLayerThree: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }), soilIconLayerFour: new VectorLayer({ // 图标图层 zIndex: 20, source: new VectorSource() }) }, // 底图 矢量图 vec 影像图 img layeredImage: { shadow: [ // new Group({ // layers: [ // new TileLayer({ // source: new XYZ({ // //url : 'http://mt3.google.cn/vt/lyrs=m&hl=zh-CN&gl=cn&x={x}&y={y}&z={z}', //这是加载线上谷歌地图 // tileUrlFunction: ($xyz) => { //引入离线瓦片 // return require('@/assets/google/' + $xyz[0] + '/' + $xyz[1] + '/' + $xyz[2] + '.png'); // }, // minZoom: 17, // maxZoom: 17 // }) // }), // ] // }) new OlLayerTile({ zIndex: 4, title: '影像', source: new XYZ({ // url: 'http://t3.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=9ae78c51a0a28f06444d541148496e36' // 行政区划 url: '/localData/yx/{z}/{x}/{y}.png' }) }) // new OlLayerTile({ // zIndex: 5, // title: '道路+中文注记', // source: new XYZ({ // url: 'http://t3.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}&tk=9ae78c51a0a28f06444d541148496e36' // 注记 // }) // }) ], vector: [ new OlLayerTile({ zIndex: 4, title: '矢量', source: new XYZ({ // url: 'http://t3.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0' // 行政区划 url: '/localData/sl/{z}/{x}/{y}.png' // tileUrlFunction: function (tileCoord) { // var z = tileCoord[0] // var x = tileCoord[1] // var y = Math.pow(2, z) + tileCoord[2] // return '../assets/sl/' + z + '/' + x + '/' + y + '.png' // } }) }) // new OlLayerTile({ // zIndex: 5, // title: '中文注记', // source: new XYZ({ // url: 'http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0' // 注记 // }) // }) ], // 默认底图 defaultImage: [ new OlLayerTile({ zIndex: 1, source: new OlSourceOSM() }), new OlLayerTile({ zIndex: 1, source: new TileSuperMapRest({ url: 'https://iserver.supermap.io/iserver/services/map-world/rest/maps/World', wrapX: true }), projection: 'EPSG:4326' }) ] }, user: null }, mutations: { setOrgetMapScene (state) { state.openlayers.map3D = new OLCesium({ map: state.openlayers.map2D }) }, addLayerImage (state) { // eslint-disable-next-line no-unused-expressions state.openlayers.map2D.addlayer }, setUser (state, user) { state.user = user auth.setToken(user.access_token) }, [LOG_OUT] (state) { state.user = null auth.removeToken() } }, actions: { }, getters: { }, modules: {} })