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: {}
|
})
|