首页 > 其他分享 >cesium左键事件取值

cesium左键事件取值

时间:2023-07-17 09:46:19浏览次数:30  
标签:const cartographic viewer scene latitude cesium 取值 左键


import { ScreenSpaceEventHandler, ScreenSpaceEventType,  Math as cMath, ShadowMode, Color, Cartographic, Cartesian2, Cartesian3, defined } from 'cesium';

function bindMapClickEvent() { if (!handler) { handler = new ScreenSpaceEventHandler(viewer.cesium.scene.canvas); } handler.setInputAction((event) => { // console.log('鼠标点击事件', event.position) // 获取移动点位置 const [longitude, latitude]: any = c3toCoordinates( c2toC3(event.position, viewer.cesium), viewer.cesium ); console.log("Clicked at: " + longitude + ", " + latitude); const params = { latLon: { lat: latitude, lon: longitude }}; PanelRender.show(params); emitter.emit('switchElementTimingPoint', params); }, ScreenSpaceEventType.LEFT_CLICK); } function c3toCoordinates( c3: Cartesian3, viewer: any ): [number, number, number] | null { if (!defined(c3)) { return null; } const { ellipsoid } = viewer.scene.globe; const cartographic = ellipsoid.cartesianToCartographic(c3); return [ cMath.toDegrees(cartographic.longitude), cMath.toDegrees(cartographic.latitude), cartographic.height, ]; } function c2toC3(c2: Cartesian2, viewer: any): Cartesian3 { const pickRay = viewer.camera.getPickRay(c2); return <Cartesian3>viewer.scene.globe.pick(pickRay, viewer.scene); }

 

标签:const,cartographic,viewer,scene,latitude,cesium,取值,左键
From: https://www.cnblogs.com/fqh123/p/17559134.html

相关文章

  • Cesium被接入数字孪生系统后会发生怎样的改变?
    众所周知,Cesium凭借其开源免费的特点一直垄断着整个三维GIS的生态系统,但是随着数字孪生技术的发展以及各项新需求的不断涌现,Cesium与数字孪生系统相结合的潜力也逐渐凸显。一般而言,Cesium如果想要升级视效就需要去用CesiumForUnity或是CesiumForUnreal这类游戏引擎插件。但是无论......
  • 禁止鼠标左键选中,服复制网页内容
    今天分享一段来自于ChatGPT的禁止鼠标左键选中服复制网页内容的代码;有个老客户找到我说想禁止别人复制网站内容,他自己更新的内容总是被别人盗用,导致自己的网站排名下降;以下是完整代码,比较简单但是很是很实用,能同时禁止鼠标左键和右键,之前分享的解除网页屏蔽鼠标右键方法也无法破......
  • 三维GIS渲染引擎盘点,以Cesium为核心的拓展优化
    目前,以Cesium为核心的各类产品繁多,本文将挑选一些以Cesium为核心的软件案例,为大家进行介绍。1.CesiumJSCesiumJS相信凡是GIS行业相关人员都特别熟悉了,CesiumJS是一款开源的JavaScript库,用于创建高性能的地球可视化应用程序。它基于WebGL技术,可以在现代的Web浏览器中实现各种三......
  • 数字孪生系统如何整合CesiumJS?整合后会产生怎样的化学反应?
    数字孪生有关的项目中,智慧城市一直是一个比较重要的类型,但是这类智慧城市项目往往包含了大量的GIS相关数据,例如倾斜摄影、DEM、DOM、地形数据等。这时,将GIS系统融合进数字孪生系统的需求就出现了。这时一个新的问题就出现了,如果将GIS系统和数字孪生系统进行融合,那么该如何保证融......
  • GIS系统想要实现Cesium For Unreal的视觉效果是否有捷径可走?
    对于大多数GIS开发人员来说,CesiumJS都是比较熟悉的引擎,但是相比较CesiumForUnreal而言,CesiumJS的视觉效果就显得差强人意了,因此一些GIS开发人员对CesiumForUnreal是存在需求的。但是,想要用好东西总是存在代价。由于CesiumForUnreal本身是虚幻引擎的一个插件,这就意味着如果......
  • cesium 加载geoserver wmts
    遇到问题:①加载瓦片服务时,发现{TileRow}/{TileCol}参数不对,刚好是等级大了一倍;解决方法:tileMatrixLabels:["1","2","3","4","5","6","7","8","9","10","11"] ,注意是从1开始,不是从0开始。......
  • Cesium学习笔记3——加载topojson和Geojson
    在根目录下新建bucket.css@import"../Build/CesiumUnminified/Widgets/widgets.css";@import"../Build/CesiumUnminified/Widgets/lighter.css";html{height:100%}body{background:#000;color:#eee;font-family:sans-serif;font-size:9pt;padding:0;margin:0;w......
  • Cesium学习笔记4——几何体绘制
    引用:Sandcastle-header.js<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"/><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metaname="......
  • Cesium导航指针放大缩小定位平移详解
    一、需求分析点击按钮可以对地图进行放大缩小,点击重置可以返回原先初始地点,点击指针球可以移动切换不同视角。二、代码实现我的版本为Cesium1.69 cesium-navigation-es61.1.6 源码有BUG需要更改安装命令:npm cesium-navigation-es6或者yarnadd npmi cesium-navigation......
  • Cesium中的QuadtreeTile.js类
    /***Asingletileina{@linkQuadtreePrimitive}.**@aliasQuadtreeTile*@constructor*@private**@param{Number}options.levelThelevelofthetileinthequadtree.*@param{Number}options.xTheXcoordinateofthetileinthequadtree......