cesium使用cesium-navigation-es6插件创建指南针比例尺

cesium-navigation-es6 是一个为 Cesium.js 提供导航控件的库,它提供了一些常见的用户界面组件,用于在 Cesium 场景中实现用户导航和交互。下面将介绍如何在项目中使用 cesium-navigation-es6

使用步骤

1. 安装 cesium-navigation-es6

首先,在你的项目中安装 cesium-navigation-es6。假设你已经安装了 Cesium.js,可以通过 npm 或 yarn 安装:

npm install cesium-navigation-es6 --save
 导入并使用 cesium-navigation-es6

一旦安装完成,你可以在你的项目中导入并使用 cesium-navigation-es6

// 导入 CesiumNavigation
import CesiumNavigation from 'cesium-navigation-es6';

// 假设你已经创建了 Cesium 的 Viewer 实例,例如:
const viewer = new Cesium.Viewer('cesiumContainer');
this.cesiumNavigation = new CesiumNavigation(viewer, {
        enableCompass: true,//指南针
        enableZoomControls: false, //是否启用缩放控件
        enableDistanceLegend: false//比例尺
});

 

重设位置样式

在css样式文件中设置罗盘、比例尺和缩放控件的位置

/* 罗盘定位 */

.compass {
    position: absolute;
    left: 2%;
    top: 2%;
}


/* 比例尺位置 */

.distance-legend {
    position: absolute;
    right: 2%;
    bottom: 6%;
}


/* 缩放位置 */

.navigation-controls {
    position: absolute;
    bottom: 10%;
    right: 2%;
}

在js里面修改位置。

const elements = document.getElementsByClassName('compass');
    elements[0].style.display = 'none';
    for (let key in option) {
      elements[0].style[key] = option[key];
    }

option={ right: "100px", top: "15%" }

const elements = document.getElementsByClassName('distance-legend');
    elements[0].style.display = 'none';
    for (let key in option) {
      elements[0].style[key] = option[key];
    }
    //比例尺样式
    const scaleLabel = document.getElementsByClassName('distance-legend-label');
    scaleLabel[0].style.color = '#000000';

    const scaleLegend = document.getElementsByClassName(
      'distance-legend-scale-bar'
    );
    scaleLegend[0].style.borderLeft = '1px solid #000000';
    scaleLegend[0].style.borderRight = '1px solid #000000';
    scaleLegend[0].style.borderBottom = '1px solid #000000';

其次

cesium-navigation-es6 提供了一些配置选项,可以用来定制导航控件的外观和行为。以下是一些常见的配置选项:

  1. toggleSwitch: 控制是否显示切换按钮,允许用户在导航控件之间进行切换。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.toggleSwitch(true);
  2. enableZoomControls: 控制是否显示缩放控件。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.enableZoomControls(true);
  3. enableCompass: 控制是否显示罗盘。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.enableCompass(true);
  4. enableDistanceLegend: 控制是否显示距离图例,用于显示当前视角的视距信息。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.enableDistanceLegend(true);
  5. enableCompassOuterRing: 控制是否显示罗盘的外环。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.enableCompassOuterRing(true);
  6. compassOuterRingAlignment: 设置罗盘外环的对齐方式,可以是 'left', 'right', 'top', 'bottom''center'

    • 类型string
    • 默认值'right'
    • 示例cesiumNavigation.compassOuterRingAlignment('left');
  7. enableRotationControls: 控制是否显示旋转控件。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.enableRotationControls(true);
  8. enableTiltControls: 控制是否显示倾斜控件。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.enableTiltControls(true);
  9. enableZoomControlRange: 控制是否显示缩放控件的缩放级别范围。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.enableZoomControlRange(true);
  10. enableZoomInButton: 控制是否显示放大按钮。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.enableZoomInButton(true);
  11. enableZoomOutButton: 控制是否显示缩小按钮。

    • 类型boolean
    • 默认值true
    • 示例cesiumNavigation.enableZoomOutButton(true);

这些选项可以根据你的项目需求进行组合和配置,以便实现符合用户体验的导航控件。配置选项可以通过 cesiumNavigation 对象的相应方法进行设置,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/757550.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

成品视频素材下载网站有哪些?剪辑好可以用的视频素材网站分享

对于初学者在制作短视频时,常常希望能够快速获取高质量的素材。如果你正计划从事短视频创作,这里推荐几个优秀的成品素材网站,希望能对你有所帮助。 首先推荐的是蛙学网 作为国内用户首选的成品视频素材平台之一。这里提供丰富的视频素材库&…

phpstorm2024代码总是提示“no usages”或者“无用法”解决办法

问题:phpstorm2024使用时,总是会提示无用法,如果没有安装中文语言包的情况下会提示:no usages,如果想关闭怎么办? 编译器右上角点击齿轮进入设置,按照下图的方法点击即可关闭。或者在编译器的“…

AI场景落地之:快速搭建企业智能客服

企业智能客服可以大大简化企业的客服成本,也是企业AI应用落地的一个主要场景,本篇内容我们围绕智能客服相关的几个需求来进行阐述如何通过ThinkBot启智来快速搭建一个实用的企业智能客服。 关于启智 ThinkBot启智2.0是一个基于LLM大模型的AI应用构建引擎…

[鹏城杯 2022]babybit

发现一个压缩包提取出来提取出来两个压缩包里面是注册表使用MiTeC Windows Registry Recovery 恢复注册表 flag在ROOT\ControlSet001\Control\FVEStats里的OsvEncryptInit和OsvEncryptComplete中 NSSCTF{2022/6/13_15:17:39_2022/6/13_15:23:46}

Nettyの粘包、半包问题框架解决方案自定义协议

1、Netty框架是如何解决粘包、半包问题 关于粘包,半包问题,在前面几篇中都有提及,我们简单的复习一下。 粘包指的是客户端发出的多条消息,被服务端当做一条进行接收。半包指的是客户端发出一条完整的消息,在传输的过程…

基于ACO蚁群优化的城市最佳出行路径规划matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于ACO蚁群优化的城市最佳出行路径规划matlab仿真,可以修改城市个数,输出路径规划结果和ACO收敛曲线。 2.测试软件版本以及运行结果展示…

51单片机STC89C52RC——8.2 8*8 LED点阵模块(动态图像)

目的/效果 在《51单片机STC89C52RC——8.1 8*8 LED点阵模块(点亮一个LED)》我们点亮一个LED,接下来我们将在8*8的矩阵中展示动态的图像。 1:单列展示: 2:单行展示 3:笑脸 4:右移…

查看linux服务磁盘类型

查看linux服务磁盘类型 查看当前服务器磁盘挂载类型 df -h2. 查看/dev/mapper/centos-root挂载卷类型 # 查询 lsblk# 查询磁盘类型 lsblk -d -o name,rota | grep sda # 说明 sda 0 代表固态硬盘ssd sda 1 代表机械硬盘hdd

haproxy实现代理和负载均衡

HaProxy介绍: haproxy是法国开发者威利塔罗在2000年使用C语言开发的一个开源软件,是一款具备高并发(一万以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计&…

算法基础-----【递归回溯】

1、递归 递归是一种算法结构,递归会出现在子程序中自己调用自己或间接地自己调用自己。递归就是分为递去和归来。 递去:递归的问题必须可以分解为若干规模较小,与原问题相同的子问题,这些子问题可以用相同的解题思路解决。 归来…

[Go 微服务] Kratos 使用的简单总结

文章目录 1.Kratos 简介2.传输协议3.日志4.错误处理5.配置管理6.wire 1.Kratos 简介 Kratos并不绑定于特定的基础设施,不限定于某种注册中心,或数据库ORM等,所以您可以十分轻松地将任意库集成进项目里,与Kratos共同运作。 API -&…

【工具推荐】ONLYOFFICE 桌面编辑器 8.1:引入全新功能,提升文档处理体验

ONLYOFFICE 桌面编辑器 8.1 现已发布:功能完善的 PDF 编辑器、幻灯片版式、改进从右至左显示、新的本地化选项等 【工具推荐】ONLYOFFICE 桌面编辑器 8.1:引入全新功能,提升文档处理体验 一、什么是ONLYOFFICE? ONLYOFFICE 是…

Java新手启航:Windows下JDK安装,开启编程之旅

你是不是对编程充满好奇,想要迈入Java的世界,却不知道从何开始?别担心,每一个Java大师都是从安装JDK开始的,而今天,我将手把手教你如何轻松完成JDK的安装,让你迈出编程之旅的第一步! 接下来&am…

深入解析内容趋势:使用YouTube API获取视频数据信息

一、引言 YouTube,作为全球最大的视频分享平台之一,汇聚了无数优质的内容创作者和观众。从个人分享到专业制作,从教育科普到娱乐休闲,YouTube上的视频内容丰富多彩,满足了不同用户的需求。对于内容创作者、品牌以及希…

第三十六篇——最大熵原理:确定的答案找到之前,我们该做什么?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 又双叒叕一个伟大的原理,又双叒叕觉得太伟大了,知…

解释什么是lambda函数?它有什么好处?

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

数据分析-常用模型-漏斗模型

一、什么是漏斗模型 漏斗模型,其实应该叫做“流程式业务分析模型”。它是基于业务流程数据,对业务进行分析诊断的工具。因为销售端的业务,常常会出现“流程越长,用户流失越多的情况”。 比如网上购物,看到一个喜欢的…

综合评价 | 基于组合博弈赋权的物流系统综合评价(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 综合评价 | 基于组合博弈赋权的物流系统综合评价(Matlab) 组合博弈赋权(Weighted Sum)是一种常见的多目标决策方法,用于将多个目标指标进行综合评估和权衡…

【服务器部署】Jenkins配置前端工程自动化部署

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…

【eMTC】eMTC 的SIB1-BR是如何发送

1 概述 eMTC的系统消息发送和接收与LTE的有很大不同,主要原因是在某一个时刻终端只接收1.4M的带宽,无法接收LTE的大带宽,比如20M带宽的LTE小区,eMTC终端,在某一个子帧,只能够接收其中的1.4M 带宽。PBCH本身…