|
@@ -2,6 +2,9 @@ import * as source from "ol/source";
|
|
|
import * as layer from "ol/layer";
|
|
|
import * as style from "ol/style";
|
|
|
import * as ol from "ol";
|
|
|
+import * as format from "ol/format";
|
|
|
+import SbStyle from "@/views/gis/map-info/style/sb";
|
|
|
+import CommonStyle from "@/views/gis/map-info/style/common";
|
|
|
|
|
|
const state = {
|
|
|
menuRootName: '9cd5fbf9-35fd-4fb2-8c24-1f871afd67be',
|
|
@@ -48,12 +51,44 @@ const mutations = {
|
|
|
})
|
|
|
state.map.addOverlay(state.gisParams.default.overlay)
|
|
|
},
|
|
|
- SET_GIS_PARAMS_DEFAULT(state, {type, wkt, info}) {
|
|
|
+ SET_GIS_PARAMS_DEFAULT_SB(state, {wkt, info, config}) {
|
|
|
+ const {
|
|
|
+ isAnalysis = false
|
|
|
+ } = config
|
|
|
if (state.gisParams.default.layer) {
|
|
|
- state.gisParams.default.source.clear()
|
|
|
- state.gisParams.default.type = ''
|
|
|
- state.gisParams.default.info = {}
|
|
|
- state.gisParams.default.overlay.setPosition(undefined)
|
|
|
+ state.gisParams.default.source?.clear()
|
|
|
+ try {
|
|
|
+ state.gisParams.default.type = 'sb'
|
|
|
+ state.gisParams.default.info = JSON.parse(JSON.stringify(info))
|
|
|
+ const newFeat: any = new format.WKT().readFeature(wkt)
|
|
|
+ let type = ''
|
|
|
+ if (info.type = '公安类') {
|
|
|
+ type = 'galsb'
|
|
|
+ } else if (info.type = '社会类') {
|
|
|
+ type = 'shlsb'
|
|
|
+ } else if (info.type = '民用类') {
|
|
|
+ type = 'mylsb'
|
|
|
+ }
|
|
|
+ newFeat.set('defaultStyle', SbStyle.sbStyle(type))
|
|
|
+ newFeat.set('activeStyle', [...CommonStyle.activeStyle(), ...SbStyle.sbStyle(type)])
|
|
|
+ newFeat.set('analysisStyle', [...CommonStyle.analysisStyle(), ...SbStyle.sbStyle(type)])
|
|
|
+ newFeat.set('analysisActiveStyle', [...CommonStyle.activeStyle(), ...CommonStyle.analysisStyle(), ...SbStyle.sbStyle(type)])
|
|
|
+ newFeat.set('isAnalysis', isAnalysis)
|
|
|
+ newFeat.set('resetStyle', () => {
|
|
|
+ if (newFeat.get('isAnalysis')) {
|
|
|
+ newFeat.setStyle(newFeat.get('analysisStyle'))
|
|
|
+ } else {
|
|
|
+ newFeat.setStyle(newFeat.get('defaultStyle'))
|
|
|
+ }
|
|
|
+ })
|
|
|
+ newFeat.setStyle(newFeat.get('analysisStyle'))
|
|
|
+ newFeat.set('featureType', 'sb')
|
|
|
+ newFeat.set('info', state.gisParams.default.info)
|
|
|
+ newFeat.setId(info.deviceid)
|
|
|
+ state.gisParams.default.overlay.setPosition(newFeat.getGeometry().getCoordinates())
|
|
|
+ } catch (e) {
|
|
|
+ console.log('异常数据:', wkt, info, e)
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
SET_GIS_PARAMS_DEFAULT_RESET(state) {
|
|
@@ -75,8 +110,10 @@ const actions = {
|
|
|
commit('SET_GIS_MAP', {map, defaultDom})
|
|
|
}
|
|
|
},
|
|
|
- LOAD_GIS_PARAMS_DEFAULT({ commit }: any, {type, wkt, info}: any) {
|
|
|
- commit('SET_GIS_PARAMS_DEFAULT', {type, wkt, info})
|
|
|
+ LOAD_GIS_PARAMS_DEFAULT({ commit }: any, {type, wkt, info, config = {}}: any) {
|
|
|
+ if (type === 'sb') {
|
|
|
+ commit('SET_GIS_PARAMS_DEFAULT_SB', {wkt, info, config})
|
|
|
+ }
|
|
|
},
|
|
|
LOAD_GIS_PARAMS_DEFAULT_RESET({ commit }: any) {
|
|
|
commit('SET_GIS_PARAMS_DEFAULT_RESET')
|