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 提供了一些配置选项,可以用来定制导航控件的外观和行为。以下是一些常见的配置选项:
-
toggleSwitch: 控制是否显示切换按钮,允许用户在导航控件之间进行切换。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.toggleSwitch(true);
- 类型:
-
enableZoomControls: 控制是否显示缩放控件。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.enableZoomControls(true);
- 类型:
-
enableCompass: 控制是否显示罗盘。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.enableCompass(true);
- 类型:
-
enableDistanceLegend: 控制是否显示距离图例,用于显示当前视角的视距信息。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.enableDistanceLegend(true);
- 类型:
-
enableCompassOuterRing: 控制是否显示罗盘的外环。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.enableCompassOuterRing(true);
- 类型:
-
compassOuterRingAlignment: 设置罗盘外环的对齐方式,可以是
'left','right','top','bottom'或'center'。- 类型:
string - 默认值:
'right' - 示例:
cesiumNavigation.compassOuterRingAlignment('left');
- 类型:
-
enableRotationControls: 控制是否显示旋转控件。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.enableRotationControls(true);
- 类型:
-
enableTiltControls: 控制是否显示倾斜控件。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.enableTiltControls(true);
- 类型:
-
enableZoomControlRange: 控制是否显示缩放控件的缩放级别范围。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.enableZoomControlRange(true);
- 类型:
-
enableZoomInButton: 控制是否显示放大按钮。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.enableZoomInButton(true);
- 类型:
-
enableZoomOutButton: 控制是否显示缩小按钮。
- 类型:
boolean - 默认值:
true - 示例:
cesiumNavigation.enableZoomOutButton(true);
- 类型:
这些选项可以根据你的项目需求进行组合和配置,以便实现符合用户体验的导航控件。配置选项可以通过 cesiumNavigation 对象的相应方法进行设置,
相关文章:
cesium使用cesium-navigation-es6插件创建指南针比例尺
cesium-navigation-es6 是一个为 Cesium.js 提供导航控件的库,它提供了一些常见的用户界面组件,用于在 Cesium 场景中实现用户导航和交互。下面将介绍如何在项目中使用 cesium-navigation-es6。 使用步骤 1. 安装 cesium-navigation-es6 首先…...
go sync包(七)Sync.Map
Sync.Map 原理 通过 read 和 dirty 两个字段实现数据的读写分离,读的数据存在只读字段 read 上,将最新写入的数据存在 dirty 字段上。读取时会先查询 read,不存在再查询 dirty,写入时则只写入 dirty。读取 read 并不需要加锁&am…...
Batch文件中的goto命令:控制流程的艺术
Batch文件,也称为批处理脚本,是Windows操作系统中用于自动化任务的一种脚本文件。在Batch脚本中,goto命令是一个至关重要的控制结构,它允许脚本跳转到指定的标签位置,从而实现循环、条件分支等复杂的控制流程。本文将详…...
【chatgpt】两层gcn提取最后一层节点输出特征,如何自定义简单数据集
文章目录 两层gcn,提取最后一层节点输出特征,10个节点,每个节点8个特征,连接关系随机生成(无全连接层)如何计算MSE 100个样本,并且使用批量大小为32进行训练第一个版本定义数据集出错࿰…...
Java面试题:讨论你如何保持对Java生态系统中新技术的了解
保持对Java生态系统中新技术的了解可以通过以下几种方法: 官方资源: Oracle的官方博客和新闻:Oracle是Java的主要维护者,其官方网站和博客会定期发布Java的新版本、功能更新和最佳实践。Java SE Documentation:Java官方…...
深度学习之Transformer模型的Vision Transformer(ViT)和Swin Transformer
Transformer 模型最初由 Vaswani 等人在 2017 年提出,是一种基于自注意力机制的深度学习模型。它在自然语言处理(NLP)领域取得了巨大成功,并且也逐渐被应用到计算机视觉任务中。以下是两种在计算机视觉领域中非常重要的 Transformer 模型:Vision Transformer(ViT)和 Swi…...
玩个游戏 找以下2个wordpress外贸主题的不同 你几找到几处
Aitken艾特肯wordpress外贸主题 适合中国产品出海的蓝色风格wordpress外贸主题,产品多图展示、可自定义显示产品详细参数。 https://www.jianzhanpress.com/?p7060 Ultra奥创工业装备公司wordpress主题 蓝色风格wordpress主题,适合装备制造、工业设备…...
React Native优质开源项目推荐与解析
目录 2. React Native的优势 2.1. 跨平台开发 2.2. 热更新 2.3. 丰富的社区资源 2.4. 优秀的性能 3. 优质开源项目推荐 3.1. React Navigation 3.1.1 项目简介 3.1.2 特点和优势 3.1.3 应用场景 3.2. Redux 3.2.1 项目简介 3.2.2 特点和优势 3.2.3 应用场景 3.3…...
树莓派安装windows系统
第1步: https://uupdump.net/下载对应的系统文件,所有选择项都默认选择。 第2步: 解压下载后的文件,双击运行下面文件。等待下载完成,等待过程很漫长,很考验耐心。 第3步: 提示已经finish了&…...
CSS-position/transform
1 需求 2 语法 在CSS中,positioning 和 transform 是两个非常重要的概念,它们分别用于控制元素在页面上的布局和变换。 Positioning CSS中的position属性用于设置元素的定位类型。它有几个值,包括: static:这是默认…...
面试题之一
路由的两种模式:hash模式和 history模式。 两种的区别、如何实现。 hash模式中#的作用 vue性能优化。具体如何实现(回答了一个可以函数引入的方法引入路由。问) keep-alive 说一下EventBus CSS: flex布局 css新特性 盒子模型 J…...
494. 目标和 Medium
给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2 之前添加 ,在 1 之前添加 - ,然…...
如何实现灌区闸门控制自动化?宏电“灌区哨兵”为灌区闸门控制添“智慧”动能
闸门控制站是节水灌溉工程中的重要组成部分。随着科技的不断进步和农田水利现代化的发展,传统的闸门控制和管理手段已经不能满足现代农业的发展要求。以宏电“灌区哨兵”为核心的闸门自动化控制系统,能有效解决灌区闸门距离远、数量多、不易操作、不好监…...
PHP电商系统开发指南数据库管理
回答:数据库管理是电商系统开发的关键,涉及数据的存储、管理和检索。选择合适的数据库引擎,如mysql或 postgresql。创建数据库架构,定义数据的组织方式(如产品表、订单表)。进行数据建模,考虑实…...
基于Vue.js的电商前端模板:Vue-Dashboard-Template的设计与实现
摘要 随着电子商务的飞速发展,前端页面的设计和实现变得愈发重要。本文介绍了一个基于Vue.js的电商前端模板——Vue-Dashboard-Template,旨在提供一个高性能、易扩展的电商平台前端解决方案。该模板遵循响应式设计、模块化、组件化开发等设计原则&#…...
论文解读:【CVPR2024】DUSt3R: Geometric 3D Vision Made Easy
论文“”https://openaccess.thecvf.com/content/CVPR2024/papers/Wang_DUSt3R_Geometric_3D_Vision_Made_Easy_CVPR_2024_paper.pdf 代码:GitHub - naver/dust3r: DUSt3R: Geometric 3D Vision Made Easy DUSt3R是一种旨在简化几何3D视觉任务的新框架。作者着重于…...
springboot助农电商系统-计算机毕业设计源码08655
摘要 近年来,电子商务的快速发展引起了行业和学术界的高度关注。基于移动端的助农电商系统旨在为用户提供一个简单、高效、便捷的农产品购物体验,它不仅要求用户清晰地查看所需信息,而且还要求界面设计精美,使得功能与页面完美融合…...
【windows】电脑如何关闭Bitlocker硬盘锁
如果你的硬盘显示这样的一把锁,说明开启了Bitlocker硬盘加密。 Bitlocker硬盘锁,可以保护硬盘被盗,加密防止打开查看数据。 方法一:进入“控制面板->BitLocker 驱动器加密”进行设置。或者“控制面板\系统和安全->BitLocke…...
vue-cli 搭建项目,ElementUI的搭建和使用
vue-cli 官方提供的一个脚手架,用于快速生成一个vue的项目模板;预先定义 好的目录结构及基础代码,就好比咱们在创建Maven项目时可以选择创建一个 骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速; …...
SQL-DDL操作
数据库操作 登录MySQL PS D:\WorkSpace\MachineLearning\DL_learning> mysql -u root -p Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server version: 8.0.37 MySQL Community Server - GPLCopy…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
【系统架构设计师-2025上半年真题】综合知识-参考答案及部分详解(回忆版)
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20~21题】【第…...
创客匠人:如何通过创始人IP打造实现知识变现与IP变现的长效增长?
在流量红利逐渐消退的当下,创始人IP的价值愈发凸显。它不仅能够帮助中小企业及个人创业者突破竞争壁垒,还能成为企业品牌影响力的核心资产。然而,市场上IP孵化机构鱼龙混杂,如何选择一家真正具备长期价值的合作伙伴?创…...
