import {defineStore} from "pinia"; import {Airline, routeTerrain} from "@/types/entityoptions.ts"; type layer = { lName: string lId: string dataSource?: any imageLayer?: any entity?: any[] show: boolean } export const useLayerStore = defineStore('LayerStore', { state: ()=>{ return { Layers: [] as layer[], openDetect: true, validYCData: false, navi: { airlines: [] as Airline[], currentRouteID: -1, //当前航线号 nextRouteID: -1, //下一航线号 nextPoint: -1, //下一航点号 distonext: -1, //待飞距离 hFactor: 3 //高度修正数 }, routesTerrain: [] as routeTerrain[] } }, actions: { addLayer(lName: string, dataSource?:any, imageLayer?: any,entity?: any[], show= true) { let time = new Date() let layer: layer = { dataSource: dataSource, imageLayer: imageLayer, entity: entity, lId: time.getTime().toString(), lName: lName, show: show, } this.Layers.push(layer) }, removeLayer(lId: string) { let i = this.Layers.findIndex((layer:layer) => layer.lId === lId) if(i > -1){ this.Layers.splice(i, 1) } }, clearLayers(){ this.Layers = [] } } })