/** * 业务相关矢量图管理助手,负责业务相关矢量图创建及开关 */ 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