派生自 wuyushui/SewerAndRainNetwork

wangrui
2020-12-14 0d7669f8bf28300362fc0dacd5c794ff823d0297
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/**
 * 业务相关矢量图管理助手,负责业务相关矢量图创建及开关
 */
function VectorLayerHelper(map, L, env) {
    this.map = map
    this.L = L
    this.vectorLayerMap = {}
    this.vectorLayerList = []
    this.vueRefMap = {}
    this.functionMap = {}
    this.env = env
    /**
     * 该方法负责各种底图加载到地图上
     * 不同页面加载图层不同根据模块类型选择加载不同图层
     * @param map
     * @param methodNames 需要加载的方法名称
     */
    this.initVectorLayers = (methodNames) => {
        // todo 创建完以后,把图层都放到vectorLayerMap对象保存起来,方便其他接口调用
        // todo 在mapmodules文件夹定义相关图层的实现代码。
        this.loadFunction(methodNames)
        // todo 企业图层都可以后面加入,然后统一由Helper程序来管理图层的开关。
        return null
    }
    // 按需加载对应方法创建图层
    this.loadFunction = (methodNames) => {
        console.log(methodNames)
    }
 
    
 
    this.setVueRef = (vueName, ref) => {
       this.vueRefMap[vueName] = ref
    }
 
    /**
     * 获取所有的图层列表
     * @returns {null} 结构:[{名称, 图层引用}]
     */
    this.getVectorLayerList = () => {
        return this.vectorLayerList
    }
 
    /**
     * 通过名称获取图层对象
     * @param name 名称
     */
    this.getVectorLayer = (name) => {
        return this.vectorLayerMap[name]
    }
 
    /**
     * 显示某个图层
     * @param name  图层名称
     */
    this.showVectorLayer = (name, vuexStat) => {
        console.log(map, vuexStat)
    }
 
    /**
     * 隐藏某个图层
     * @param name  图层名称
     */
    this.hideVectorLayer = (name, vuexStat) => {
        console.log(map, vuexStat)
    }
}
 
export default VectorLayerHelper