atchain-mapbox-vue
Version:
A Vue 3 MapBox component library with subway lines, stations, markers and polygons support. Zero dependencies except Vue 3 and Mapbox GL JS.
59 lines (49 loc) • 1.5 kB
text/typescript
/**
* MapBox 组件主入口
* 整合所有功能模块,提供统一的 API
*/
// 导入所有核心功能
import { useMapBoxCore } from './composables/useMapBoxCore'
import { useMapBoxData } from './composables/useMapBoxData'
import { useMapBoxLayers } from './composables/useMapBoxLayers'
// 导出所有核心功能
export { useMapBoxCore } from './composables/useMapBoxCore'
export { useMapBoxData } from './composables/useMapBoxData'
export { useMapBoxLayers } from './composables/useMapBoxLayers'
export * from './composables/useMapBoxUtils'
export * from './composables/useMapBoxConstants'
// 导出工具函数
export { defaultDataFetcher } from './utils/dataFetcher'
export type { DataFetcher, FetchOptions } from './utils/dataFetcher'
// 重新导出类型
export type {
SubwayFeatureCollection,
StationFeatureCollection,
GeoJsonDataType,
DataLoadConfig,
DataLoadState
} from './composables/useMapBoxData'
export type {
MapConfig,
MapEventCallbacks
} from './composables/useMapBoxCore'
/**
* 主要的 useMapBox 组合函数
* 整合所有功能,提供向后兼容的 API
*/
export const useMapBox = () => {
// 导入所有功能模块
const core = useMapBoxCore()
const data = useMapBoxData()
const layers = useMapBoxLayers()
return {
// 核心功能
...core,
// 数据管理
...data,
// 图层管理
...layers
}
}
// 默认导出
export default useMapBox