|
/**
|
* 管线动画控制逻辑
|
*/
|
const LayerPipeLines = require('../../../conf/layers/LayerPipeLines').LayerPipeLines
|
const STYLES = require('../../../conf/Constants').STYLES
|
|
module.exports = function () {
|
this.init = () => {
|
const layers = LayerPipeLines.layers
|
for (var i = 0; i < layers.length; i++) {
|
const config = layers[i]
|
const code = config.code
|
const styles = config.styles
|
// window.layerFactory.show(config)
|
const layer = window.layerFactory.layers[code]
|
if (layer) {
|
if (layer.eachLayer) {
|
layer.eachLayer(function (layer) {
|
var newStyles = Object.assign(STYLES, styles)
|
layer.setStyle({
|
fill: newStyles.FILL,
|
weight: newStyles.WEIGHT,
|
fillColor: newStyles.FILL_COLOR,
|
color: newStyles.COLOR,
|
fillOpacity: newStyles.FILL_OPACITY,
|
opacity: newStyles.OPACITY,
|
dashArray: newStyles.DASH_ARRAY,
|
dashSpeed: newStyles.DASH_SPPED
|
})
|
})
|
// 重新添加到地图上,动画才有效果
|
window.map.removeLayer(layer)
|
window.layerFactory.show(config)
|
}
|
}
|
}
|
}
|
|
this.destory = () => {
|
const layers = LayerPipeLines.layers
|
for (var i = 0; i < layers.length; i++) {
|
const config = layers[i]
|
const code = config.code
|
// window.layerFactory.show(config)
|
const layer = window.layerFactory.layers[code]
|
if (layer) {
|
if (layer.eachLayer) {
|
layer.eachLayer(function (layer) {
|
layer.resetStyle()
|
})
|
}
|
}
|
}
|
}
|
}
|