Props 组件属性 Props
| 序号 | 名称 | 类型 | 必须? | 默认值 | 含义 | 备注 |
|---|---|---|---|---|---|---|
| 1 | viewer | Cesium.Viewer | 是 | - | viewer对象 | - |
| 2 | layersData | Array<LayersDataType> | 是 | - | 切换器数组 | - |
| 3 | layersManager | LayersManager | 是 | - | 图层管理器类 | - |
<template> <div id="rootContainer" ref="rootContainer" class="root-container"> <cp-layers :viewer="viewer" :layersManager="layersManagerRef" :layersData="layersDataRef" v-if="layersManagerRef" style="bottom:40px;right:40px;"></cp-layers> </div></template>import { onMounted, ref } from "vue";import 'cesium/Build/Cesium/Widgets/widgets.css';import { CP_LAYER, LayersManager, type LayersDataType } from "cesium-pocket";
let viewer: any = ref(null)const rootContainer: any = ref(null);const viewer = ref<Viewer | null>(null)const loading = ref(true)let layersManagerRef = ref<LayersManager>()let layersDataRef = ref<Array<LayersDataType>>([])
onMounted(() => { viewer.value = //你获取的viewer init() loading.value = false});
const init = async () => { let layersManager = new LayersManager(viewer.value as Viewer) await layersManager.addCPLayer(CP_LAYER.BING_IMG, { code: 'bing' }) await layersManager.addCPLayer(CP_LAYER.BING_IMG_S, { code: 'bing_s' }) await layersManager.addCPLayer(CP_LAYER.BING_IMG_NIGHT, { code: 'bing_night' }) await layersManager.addCPLayer(CP_LAYER.AMAP_IMG, { code: 'amap' }) await layersManager.addCPLayer(CP_LAYER.AMAP_IMG_S, { code: 'amap_s' }) await layersManager.addCPLayer(CP_LAYER.TDT_IMG, { code: 'tdt' }) await layersManager.addCPLayer(CP_LAYER.TDT_IMG_S, { code: 'tdt_s' }) layersManagerRef.value = layersManager
let obj: LayersDataType = { name: '必应地图', code: 'bing', signCode: 'bing_s', imgSrc: bingPng, checked: false }
let obj1: LayersDataType = { name: '必应夜图', code: 'bing_night', signCode: null, imgSrc: bing_nightPng, checked: false }
let obj2: LayersDataType = { name: '高德地图', code: 'amap', signCode: 'amap_s', imgSrc: amapPng, checked: false }
let obj3: LayersDataType = { name: '天地图', code: 'tdt', signCode: 'tdt_s', imgSrc: tdtPng, checked: false }
layersDataRef.value.push(obj) layersDataRef.value.push(obj1) layersDataRef.value.push(obj2) layersDataRef.value.push(obj3)}.root-container { position: relative; width: 100%; height: 500px;}
.map-plugin { position: absolute; bottom: 120px; right: 120px; z-index: 10;}<cp-layers :viewer="viewer" :layersManager="layersManager" :layersData="layersData"> | 序号 | 名称 | 类型 | 必须? | 默认值 | 含义 | 备注 |
|---|---|---|---|---|---|---|
| 1 | viewer | Cesium.Viewer | 是 | - | viewer对象 | - |
| 2 | layersData | Array<LayersDataType> | 是 | - | 切换器数组 | - |
| 3 | layersManager | LayersManager | 是 | - | 图层管理器类 | - |
| 序号 | 名称 | 类型 | 必须? | 默认值 | 含义 | 备注 |
|---|---|---|---|---|---|---|
| 1 | name | string | 是 | - | 现实的中文名称 | - |
| 2 | code | string | 是 | - | 图层对应LayersManager图层管理器添加的的标识码 | - |
| 3 | signCode | string | 否 | - | 注记图层对应LayersManager图层管理器添加的的标识码 | - |
| 4 | imgSrc | string | 是 | - | 切换器上对应图层的图片地址 | - |
| 5 | checked | boolean | 是 | - | 注记图层是否默认show | signCode存在的前提下有效 |