Skip to content

Viewer 视图 ​


演练场

引入 ​

ts
import { Viewer } from "@m-tech/gis-core";

new Viewer(viewerContainer, options);

入参 ​

参数名称类型必填默认值描述
viewerContainerHTMLElement是-容器
optionsobject否{}配置项
options.defaultViewArray<number>否-默认视图
options.imageryProviderTypeImageryProviderType否TMap影像类型
options.imageryTypeImageryType否IMG_C在线地图类型
options.
depthTestAgainstTerrain
boolean否false是否开启地形深度测试
options.viewerModeViewerMode否3D视图模式
options.locationBarboolean否false是否显示位置栏
options.navigationVisibleboolean否false是否显示导航栏
options.
debugShowFramesPerSecond
boolean否false是否显示帧率

提示

Viewer 继承自 Cesium 的 Viewer,因此 Cesium 的 Viewer 的 配置项 也可以使用。

属性 ​

属性类型读/写描述
cursorstring读写鼠标样式
pickingStyleCursorstring读写拾取样式
cameraPositionPosition读相机位置
levelnumber读地图缩放层级
centerPositionPosition读地图中心点坐标
defaultViewPosition读写默认视图
defaultCenterPosition读写默认中心点
viewerModeViewerMode读写视图模式
is2Dboolean读是否为 2D 模式
is3Dboolean读是否为 3D 模式
enableLightingboolean读写是否开启光照

方法 ​

  • on(type: ViewerEventType | SceneEventType, callback: Function, context: ctx) ​

设置事件监听。

  • off(type: ViewerEventType | SceneEventType, callback: Function, context: ctx) ​

移除事件监听。

  • setImageryLayer(imageryProviderType: ImageryProviderType, imageryType?: ImageryType, isDefault?: boolean) ​

设置在线地图图层。

  • getImageryLayers(imageryProviderType?: ImageryProviderType, imageryType?: ImageryType) ​

获取在线地图图层。

  • removeDefaultLayers() ​

移除默认图层,包含默认在线底图。

  • removeImageryLayer(layer?: Layer) ​

移除影像图层。

  • addLayer(layer: Layer) ​

添加图层。

  • removeLayer(layer: Layer) ​

移除图层。

  • addLayers(layers: Layer[]) ​

添加多个图层。

  • removeLayers(layers: Layer[]) ​

移除多个图层。

  • hasLayer(layer: Layer) ​

检查是否包含该图层。

  • getLayer(id: string) ​

根据 id 获取图层。

  • eachLayer(method: Function, context: any) ​

遍历图层。

  • addEffect(effect: Effect) ​

添加粒子效果。

  • removeEffect(effect: Effect) ​

移除粒子效果。

  • addWidget(widget?: Widget) ​

添加控件。

  • removeWidget(widget?: Widget) ​

移除控件。

  • getWidgets() ​

获取当前地图上的全部控件。

示例 ​

vue
<template>
  <div ref="viewerContainer" style="position: relative;" />
</template>

<script setup lang="ts">
import { ref, onMounted } from "vue";
import { Viewer, ViewerMode } from "@m-tech/gis-core";

const viewerContainer = ref();

onMounted(() => {
  const viewer = new Viewer(viewerContainer.value, {
    defaultView: [114.31347646, 30.46387381, 2500, 0, -45, 0], // 默认视图
    viewerMode: ViewerMode["3D"], // 视图模式
    locationBar: true, // 是否显示位置栏
    navigationVisible: true, // 是否显示导航栏
    debugShowFramesPerSecond: true, // 是否显示帧率
  });
});
</script>

MGis 地理三维库