首页 > 其他分享 >关于3dtiles Interactivity中的zoom方法精简写法

关于3dtiles Interactivity中的zoom方法精简写法

时间:2023-08-03 16:15:50浏览次数:36  
标签:Interactivity const Cartesian3 pitch zoom feature camera 3dtiles Cesium

原版本涉及到坐标系变化和矩阵变换,在对原版的思路掌握后,特写一个精简版,帮助大家理解。

function zoom(movement, feature) {
  const longitude = Cesium.Math.toRadians(feature.getProperty("Longitude"));
  const latitude = Cesium.Math.toRadians(feature.getProperty("Latitude"));
  const height = feature.getProperty("Height");

  const positionCartographic = new Cesium.Cartographic(
    longitude,
    latitude,
    height * 0.5
  );
  const position =
    viewer.scene.globe.ellipsoid.cartographicToCartesian(positionCartographic);

  const camera = viewer.camera;
  const heading = camera.heading;
  const pitch = camera.pitch;
  const direction = viewer.camera.direction;

  const ScaleDirection = Cesium.Cartesian3.multiplyByScalar(
    Cesium.Cartesian3.negate(direction, new Cesium.Cartesian3()),
    height * 2,
    new Cesium.Cartesian3()
  );
  const cameraPos = Cesium.Cartesian3.add(
    position,
    ScaleDirection,
    new Cesium.Cartesian3()
  );

  camera.flyTo({
    destination: cameraPos,
    orientation: {
      heading: heading,
      pitch: pitch,
    },
    easingFunction: Cesium.EasingFunction.QUADRATIC_OUT,
  });
}

 

标签:Interactivity,const,Cartesian3,pitch,zoom,feature,camera,3dtiles,Cesium
From: https://www.cnblogs.com/HRDK-CADeveloper/p/17603587.html

相关文章

  • 利用ZoomEye探索互联网hikvision摄像头——直接htp://www.zoomeye.org/search?q=DVRDV
    实践了下,zoomeye或者shodan都可以!还是很吓人的...         然后随便点击一个就进去了。。。 利用ZoomEye探索互联网hikvision摄像头2021年4月2日某天使用IISPUTSCANNER扫描C段观察HTTPBANNER为DVRDVS-Webs点开后发现为hikvision摄像头的WEB端于是乎想到了知道创宇......
  • 微信小程序taro-react-echarts使用dataZoom问题
    taro微信小程序中使用taro-react-echarts展示图表数据,因为数据量大,需要使用dataZoom来左右滑动图表。实现效果解决首先在echarts的options中添加xAxis:...yAxis:...dataZoom:[{type:'inside',start:0,end:data.time?.length>20?(20/data.time......
  • echarts 在使用dataZoom时报错,Cannot read properties of undefined (reading 'type')
    今天我再vue中使用柱状图拖动时,一直报错Cannotreadpropertiesofundefined(reading'type')。原因如下,我使用了myChart来接收数据,当myChart使用的是vue的ref或者reactive来命名的变量,如果这样子命名就会报上述错误。myChart=echarts.init(statistical......
  • zoom属性
    PageSetup.Zoom属性返回或设置一个 Variant 值,它代表一个数值在10%到400%之间的百分比,该百分比为MicrosoftExcel打印工作表时的缩放比例。此属性仅适用于工作表。zoom属性通常赋一个数值,表缩放比例。但是也可以将其赋值Boolean型:如果使用 .Zoom=False,Excel将根......
  • TikTok 英国业务亏损、苹果从中国应用商店下架近4万款游戏、Zoom 接受调查等|Decode th
    DecodetheWeek≠音视频技术周刊 图片来源于电影《心灵奇旅》NewsBriefing1. Adobe终止了对Flash插件的支持。上周,在经历了漫长而缓慢的衰退之后,Flash终于迎来了它的最后一站。2.亚马逊收购Wondery,对标Spotify亚马逊最近在播客市场进行了大规模的收购。它目前正在收购播客......
  • 按选择的实体objectid来zoom时,发现一个很特别的实体dbtext
    dbtext取得其GeometricExtents时,发现ext特别大,暂时不知道什么原因,所以在程序中把文字去掉了。这一个东西测试了很长时间。publicstaticvoidZoomObjects(thisEditored,ObjectIdCollectionidCol){Documentdoc=AcadApp.DocumentManager.MdiActiveDocument;......
  • iOS 缩放等级 Set the Zoom Level of an MKMapView
    SettheZoomLevelofanMKMapViewhttp://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/IfyouhaveeverbuiltawebapplicationusingtheGoogleMapsAPI,youarelikelyintimatelyfamiliarwiththislineofcode:map.set......
  • Zoom 妥协!对免费用户开放端到端加密服务
    By超神经内容概要:2020年伊始,世界范围内多国爆发新冠疫情,企业在家办公情加速了视频会议软件的发展,Zoom无疑是其中发展势头最猛,也最具争议性的一个。关键词:Zoom  端到端加密  隐私保护Zoom周三表示,将在7月份的测试版中,为所有用户提供视频通话的端到端加密服务,允许管理员......
  • 把zoom视频会议web客户端嵌入企业平台
    ​ 一、概要现在中国企业已步入全球化新时代,视频会议软件的使用率越来越高。之前我们讲了如何将腾讯会议接入到我们的系统中,这次,我们将zoom这个国际流行化的视频会议接入进来,无需安装客户端就能在kintone上开视频会议了。二、ZOOM端准备本教程是教大家如何将zoom直接以web嵌......
  • mapbox监视zoom的事件
    在Mapbox中,您可以使用map.on('zoomend',callback)监听地图缩放结束事件,然后执行自定义的回调函数,以便在每次地图缩放结束时更新应用程序。例如,可以在回调函数中获取当前地图的缩放级别,并执行所需的操作。以下是一些示例代码://创建一个Mapbox地图实例varmap=newmapb......