master
parent
b0fb0c6512
commit
a3147c0d6f
@ -0,0 +1,62 @@ |
||||
import { useState, useEffect, useContext } from 'react' |
||||
import { MapContext } from '../MapContext'; |
||||
import GlobalContext from '../../../../utils/GlobalContext'; |
||||
import { addGeoserverLayer } from '../utils/helper'; |
||||
import _ from 'lodash'; |
||||
const cacheLayers = []; |
||||
export default function BusinessLayer(props) { |
||||
|
||||
const { layerKey, viewer, filterStr } = useContext(MapContext); |
||||
const { layers, initExtent } = useContext(GlobalContext); |
||||
|
||||
// useEffect(() => {
|
||||
// if (viewer) {
|
||||
// cacheLayers.forEach(layer => {
|
||||
// layer.layerInstance.show = false;
|
||||
// })
|
||||
// if (layerKey) {
|
||||
// const layerOpt = layers[layerKey];
|
||||
// const cacheLayer = cacheLayers.find(l => l.key === layerKey);
|
||||
// if (cacheLayer) {
|
||||
// cacheLayer.layerInstance.show = true
|
||||
// } else if (layerOpt) {
|
||||
// cacheLayers.push({
|
||||
// key: layerKey,
|
||||
// layerInstance: addGeoserverLayer({
|
||||
// layerName: layerOpt.layerName,
|
||||
// extent: initExtent,
|
||||
// viewer,
|
||||
// isWms: true
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// }, [layerKey, layers, viewer, initExtent])
|
||||
|
||||
useEffect(() => { |
||||
if (viewer && layerKey) { |
||||
const layerOpt = layers[layerKey]; |
||||
const cacheLayer = cacheLayers.find(l => l.key === layerKey); |
||||
if (cacheLayer) { |
||||
viewer.imageryLayers.remove(cacheLayer.layerInstance); |
||||
_.remove(cacheLayers, item => item.key === layerKey); |
||||
} |
||||
cacheLayers.push({ |
||||
key: layerKey, |
||||
layerInstance: addGeoserverLayer({ |
||||
layerName: layerOpt.layerName, |
||||
extent: initExtent, |
||||
viewer, |
||||
isWms: true, |
||||
cql_filter: filterStr || '1=1' |
||||
}) |
||||
}) |
||||
} |
||||
}, [layerKey, filterStr, viewer, layers, initExtent]) |
||||
|
||||
return <> |
||||
|
||||
</>; |
||||
} |
||||
Loading…
Reference in new issue