Skip to content

cesium-navigation-es6

cesium-navigation-es6 是一个 Cesium 插件,可向地图添加指南针、导航器(放大/缩小)和距离刻度等图形用户界面。

安装

shell
pnpm i cesium-navigation-es6

基本使用

vue
<template>
	<div id="cesiumContainer"></div>
</template>

<script setup lang="ts">
  import { onMounted } from "vue"
  import * as Cesium from "cesium"
  import "cesium/Build/Cesium/Widgets/widgets.css"
  import CesiumNavigation from "cesium-navigation-es6"
  import type { NavigationOptions } from "cesium-navigation-es6"

  Cesium.Ion.defaultAccessToken =
    "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkMGM1ODNmMi01NjgxLTRiNjYtYjEzYS0xMWZhODZlNDIyOWIiLCJpZCI6MTE2MzEzLCJpYXQiOjE3MzY2NjMwNjN9.tTeB32oDNJyNSn7iecCvMb2O5ETRw56CmX_OCSsMu34"

  onMounted(() => {
    const viewer = new Cesium.Viewer("cesiumContainer", {
      infoBox: false
    })

    const options: NavigationOptions = {
      defaultResetView: Cesium.Cartographic.fromDegrees(116.39, 39.91, 2000),
      // defaultResetView: Cesium.Rectangle.fromDegrees(0.0, 20.0, 10.0, 30.0), // 源码底层 Rectangle 类型判断有误
      enableCompass: true,
      enableZoomControls: true,
      enableDistanceLegend: true,
      enableCompassOuterRing: true,
      resetTooltip: "重置视图",
      zoomInTooltip: "放大",
      zoomOutTooltip: "缩小",
      duration: 5,
      orientation: {
        heading: Cesium.Math.toRadians(-3),
        pitch: Cesium.Math.toRadians(-90),
        roll: Cesium.Math.toRadians(0)
      }
    }

    new CesiumNavigation(viewer, options)
  })
</script>

NavigationOptions参数介绍:

参数默认值描述
defaultResetView点击重置视图时的视角设置
enableCompasstrue启用或禁用罗盘
enableZoomControlstrue启用或禁用缩放控件
enableDistanceLegendtrue启用或禁用距离图例(放大到一定等级,左下角会显示)
enableCompassOuterRingtrue启用或禁用指南针外环
resetTooltip重置视图重置视图的文字提示
zoomInTooltip放大放大按钮的文字提示
zoomOutTooltip缩小缩小按钮的文字提示
duration3秒重置视角的动画时间
orientation(0, -90, 0)默认的相机视角
compassOuterRingSvg罗盘外环Svg图形,只支持 Svg 字符串
compassRotationMarkerSvg罗盘旋转注记Svg图形,只支持 Svg 字符串
compassGyroSvg罗盘陀螺Svg图形,只支持 Svg 字符串
resetSvg重置按钮Svg图形,只支持 Svg 字符串
zoomInSvg放大按钮Svg图形,只支持 Svg 字符串
zoomOutSvg缩小按钮Svg图形,只支持 Svg 字符串

Released under the MIT License.