cesium api放大缩小地图

方法缩小地图封装api
 

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Cesium Zoom API</title><style>#cesiumContainer {height: 100vh;margin: 0;overflow: hidden;}#buttonCss {position: absolute;top: 10px;left: 10px;padding: 10px;cursor: pointer;background-color: #fff;border: 1px solid #ccc;border-radius: 4px;font-size: 14px;}</style>
</head><body><div id="cesiumContainer"></div><div id="buttonCss"><button id="zoomInButton">Zoom In</button><button id="zoomOutButton">Zoom Out</button></div><script src="https://cesium.com/downloads/cesiumjs/releases/1.80/Build/Cesium/Cesium.js"></script><link rel="stylesheet"href="https://cesium.com/downloads/cesiumjs/releases/1.80/Build/Cesium/Widgets/widgets.css" /><!-- <script src="https://cdn.bootcdn.net/ajax/libs/Turf.js/6.5.0/turf.min.js"></script> --><script>const viewer = new Cesium.Viewer('cesiumContainer');document.getElementById('zoomInButton').addEventListener('click', () => {zoomMap(-0.5);});document.getElementById('zoomOutButton').addEventListener('click', () => {zoomMap(0.5);});function zoomMap(direction) {const camera = viewer.camera;const position = camera.positionWC.clone();const directionVector = camera.directionWC.clone();const height = viewer.scene.globe.ellipsoid.cartesianToCartographic(position).height;// 根据相机高度调整缩放的比例// const scale = Math.ceil(height / 1000.0);// console.log(scale,'scale');// let dire = scale>1?scale*direction * 100:direction * 100// console.log(dire,'dire');const scale = Math.ceil(height / 1.0);let dire = scale * direction// 方向矢量与缩放量的乘积const zoomVector = Cesium.Cartesian3.multiplyByScalar(directionVector, dire, new Cesium.Cartesian3());// 新位置为当前位置加上缩放后的矢量const newPosition = Cesium.Cartesian3.add(position, zoomVector, new Cesium.Cartesian3());const heading = camera.heading;const pitch = camera.pitch;camera.flyTo({destination: newPosition,orientation: {heading: heading,pitch: pitch,},duration: 0.5, // 调整飞行动画的持续时间});}</script>
</body></html>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB中uiresume函数用法

目录 语法 说明 示例 按下按钮后恢复执行 使用函数调用恢复执行 uiresume函数的功能是恢复暂停程序的执行。 语法 uiresume uiresume(f) 说明 uiresume 恢复与当前图窗 (gcf) 关联的对应 uiwait 调用暂停的程序执行。 uiresume(f) 恢复与图窗 f 关联的对应 uiwait 调用…

开发企业微信群机器人,实现定时提醒

大家好&#xff0c;我是鱼皮&#xff0c;今天分享一个用程序解决生活工作问题的真实案例。 说来惭愧&#xff0c;事情是这样的&#xff0c;在我们公司&#xff0c;每天都要轮流安排一名员工&#xff08;当然也包括我&#xff09;去楼层中间一个很牛的饮水机那里接水。但由于大…

MySQL安装配置与使用教程(2023.11.13 MySQL8.0.35)

CONTENTS 1. MySQL的安装与配置2. MySQL常用操作教程 1. MySQL的安装与配置 MySQL Windows Installer 下载地址&#xff1a;MySQL Installer。 我们下载最新版本&#xff08;目前是8.0.35&#xff09;的安装包&#xff0c;注意要选择更大的那个&#xff0c;名字为 mysql-inst…

【杂谈】体验AI帮助编写代码,有提升效率,AI本身提升空间也很大

体验AI帮助编写代码 ​专栏内容&#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发&#xff0c;开发的步骤&#xff0c;以及开发过程中的涉及的原理&#xff0c;遇到的问题等&#xff0c;让大家能跟上并且可以一起开发&#xff0c;让每个需要的人成为参与者。 本专栏会定…

租用服务器带宽类型应用

服务器带宽类型多样&#xff0c;以满足不同行业的需求。本文将介绍香港常见的服务器带宽类型及其应用领域。 1. 共享带宽 共享带宽是指多个用户共同使用同一台服务器的带宽资源。这种带宽类型适用于小型企业或个人网站&#xff0c;因为其成本较低。由于多个用户共享带宽资源&…

Java的XWPFTemplate word生成列表

Java的XWPFTemplate工具类导出word.docx的使用_xwpftemplate 语法_youmdt的博客-CSDN博客 如果是表格的列表参考上面这篇文章即可&#xff0c;比较复杂的列表遍历暂时还没找到方法&#xff0c;只能手动创建表格了 上面是模板&#xff0c;非常简单&#xff0c;以为我们是要自己创…

HTTP 常见的请求头

面试官&#xff1a;说说 HTTP 常见的请求头有哪些? 作用&#xff1f; 一、是什么 HTTP头字段&#xff08;HTTP header fields&#xff09;,是指在超文本传输协议&#xff08;HTTP&#xff09;的请求和响应消息中的消息头部分 它们定义了一个超文本传输协议事务中的操作参数 …

2023年最新的前端面试收集(2)

webpack熟悉吗&#xff1f;webpack打包流程是什么&#xff1f; webpack打包流程 解析配置文件&#xff1a; 读取并解析配置文件&#xff0c;并根据配置生成一个Compiler对象。读取入口文件&#xff1a;根据配置中的入口文件&#xff0c;读取这些文件及其依赖的模块&#xff0…

Linux下快速上手Screen

一、Screen简介 GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。在Linux终端中管理会话时&#xff0c;Screen是一个非常有用的工具。它允许在单个终端会话中创建多个虚拟终端&#xff0c;从而可以同时运行多个任务&#xff0c;即使在断开与服务器的连接后也可…

阿里云服务器搭建sql 服务

阿里云搭建mysql服务 环境准备 系统镜像 ubuntu 如果买点的实例不是ubuntu 系统镜像&#xff0c;需要停止服务之后&#xff0c;更改镜像 更新 apt-get &#xff1a; 更新apt-get: sudo apt-get update 如果没有出现&#xff1a;apt-get 找不到此命令的错误&#xff0c;可能是…

Angular 指令介绍及使用(三)

Angular 指令概述 在 Angular 中&#xff0c;指令是一种机制&#xff0c;用于扩展和修改组件的行为和外观。指令可以由开发者自定义&#xff0c;也可以是 Angular 框架自带的一些内置指令。通过使用指令&#xff0c;我们可以在 HTML 模板中通过属性或元素名来操作组件。 Angu…

LeetCode-2656. K 个元素的最大和-朴素+贪心和数学公式

Problem: 2656. K 个元素的最大和 每日一题。 文章目录 思路Code朴素贪心等差求和公式 思路 从小到大排序&#xff0c;一直对最后那个值&#xff08;下标&#xff09;进行1操作。 联系等差数列(d1)&#xff0c;前n项求和。n(a1an)/2或n*a1n(n-1)d/2 Code 朴素 class Solution…

LLM App ≈ 数据ETL管线

虽然现有的 LLM 应用程序工具&#xff08;例如 LangChain 和 LlamaIndex&#xff09;对于构建 LLM 应用程序非常有用&#xff0c;但在初始实验之外不建议使用它们的数据加载功能。 当我构建和测试我的LLM应用程序管道时&#xff0c;我能够感受到一些尚未开发和破解的方面的痛苦…

css3 初步了解

1、css3的含义及简介 简而言之&#xff0c;css3 就是 css的最新标准&#xff0c;使用css3都要遵循这个标准&#xff0c;CSS3 已完全向后兼容&#xff0c;所以你就不必改变现有的设计&#xff0c; 2、一些比较重要的css3 模块 选择器 1、标签选择器&#xff0c;也称为元素选择…

龙迅LT9211D MIPI(DSI/CSI)转LVDS和集创北方ICN6202 MIPIDSI转LVDS比对

龙迅LT9211D描述&#xff1a; Lontium LT9211D是一款高性能的MIPI DSI/CSI- 2到双端口LVDS转换器。LT9211D反序列化输入的MIPI视频数据&#xff0c;解码数据包&#xff0c;并将格式化的视频数据流转换为AP和移动显示面板或摄像机之间的LVDS发射机输出。LT9211D支持最大14 dB输…

git远程分支覆盖本地分支

git fetch --all git reset --hard origin/master (这里master要修改为对应的分支名) git pull

给Elasticsearch-ik分词器添加额外的分词字典

默认分词 可以看到 马拉巴尔 被拆分了 GET /news/_analyze {"text":"四国联盟将在澳大利亚举行“马拉巴尔2023”演习","analyzer": "ik_max_word" }... {"token" : "马拉","start_offset" : 13,"…

【极客时间-系列教程】深入剖析Kubernetes-开篇词 | 打通“容器技术”的任督二脉

开篇词 | 打通“容器技术”的任督二脉 学习技术的最快途径是什么&#xff1f;有时候和同事们一起在讨论这个事情 我想想有以下几点 首先是实操&#xff0c;只看不练等于空研究官方文档&#xff0c;官网是最全的需要认真研究必须项目中使用&#xff0c;不然就忘掉了 这些说的…

微信小程序 30分钟倒计时功能

ps:凑个数 getTimeDiff(date) {let _this = this;let curTime = new Date(date)_this.countDown(_this.timeFormatConvert(new Date(curTime.setMinutes(curTime.getMinutes() + 30))))},timeFormatConvert(e) {const Y = e.getFullYear(); // 年const M = this.prefixZero(e.…

c# 抽象类

c#抽象类 namespace demo1 {/// <summary>/// 抽象类是作为一种抽象的概念&#xff0c;是基类/// 在抽象类中声明方法&#xff0c;加上abstract就是抽象方法。所有有抽象类派生出来的都要重载实现抽象方法/// 抽象方法不可以使用virtual、static、和prevate修饰/// 抽象…