简介 
Cesium Use 是一个基于 Vue 的 CesiumJS 工具库,提供了一系列的函数与组件以供使用,旨在简化基于 CesiumJS 的开发流程。
前置知识
- JavaScript
- Vue
- CesiumJS
在开始使用 Cesium Use 之前,假定你已经对他们有基本的了解。
示例 
在地球上点击以查看结果!
代码
其结构如下:
vue
<template>
  <Viewer>
    <Demo />
  </Viewer>
</template>其中 Viewer.vue 的代码:
vue
<script setup>
import { useViewerProvider } from 'cesium-use'
const container = useTemplateRef('container')
const { isMounted } = useViewerProvider(() => new Cesium.Viewer(container.value))
</script>
<template>
  <div relative>
    <div ref="container" h-full w-full />
    <slot v-if="isMounted" />
  </div>
</template>其中 Demo.vue 的代码:
vue
<script setup>
import { Located, useEventHandler, useViewer } from 'cesium-use'
const viewer = useViewer()
const show = ref(true)
const pos = shallowRef()
const handler = useEventHandler()
handler(({ position }) => {
  pos.value = viewer.scene.pickPosition(position)
}, Cesium.ScreenSpaceEventType.LEFT_CLICK)
</script>
<template>
  <Located v-model="show" :coordinate="pos">
    <div bg-gradient-to-r shadow-lg from-rose to-blue text-nowrap c-white rounded p-4>
      I am Cesium Use!
    </div>
  </Located>
</template>上面的示例展示了 Cesium Use 最基本的几个功能:
- 原生开发体验: 尽可能提供与原生 CesiumJS 相近的开发体验。
- 函数与组件: 提供了一系列函数与组件,以覆盖多种使用情况。
- 自动引入: 自带对 unplugin-auto-import的支持,这使得你无需手动引入其提供的方法。
- Viewer 管理: 提供了一些函数以对 Viewer 进行管理,这能方便的获取 Viewer 实例。
TIP
在 stackblitz 上在线运行前面的示例!
命名规范 
cesium-use 遵循 composable 组合式函数命名规范。
- 所有以 use开头的函数一定是组合式函数,这意味着你应当在setup调用栈内调用它们。
- 所有非 use开头的函数一定非组合式函数。
Viewer 管理 
为了方便管理 Viewer 实例,Cesium Use 提供了两个方法以供使用。
- useViewer通过- 依赖注入获取 viewer 实例。
- useViewerProvider通过- 依赖注入注入 viewer 实例。
更多相关内容见 useViewer。
