import { inject, Ref } from "vue-demi"; import { MapEmitter } from "../types"; /** * 获取根地图实例 */ export function useMapRoot(): Promise { return new Promise(resolve => { const mapRoot = inject>("mapRoot"); const mapEmitter = inject("mapEmitter"); if (mapRoot?.value) { resolve(mapRoot?.value); } else { mapEmitter?.on("mapInit", resolver); } function resolver(map: T.Map) { mapEmitter?.off("mapInit", resolver); resolve(map); } }); }