cesium 漫游飞行

阅读: 评论:0

cesium 漫游飞行

cesium 漫游飞行

思路:

1、获取当前相机位置  P1

2、获取屏幕中心点位置 P2

3、计算亮点的经度差和纬度差

4、飞行的目标减去dx、dy

注: 当飞行前后高度变化时,此方法不适用,需另外计算比例。

var p = viewer.camera._positionCartographic

var left = $('#cesiumContainer').offset().left

var top = $('#cesiumContainer').offset().top

var width = parseFloat($('#cesiumContainer').css('width').split('px')[0])

var height = parseFloat($('#cesiumContainer').css('height').split('px')[0])

var x = left + width / 2

var y = top + height / 2

var _center = new Cesium.Cartesian2(x, y);

var __center = viewer.scene.globe.pick(PickRay(_center), viewer.scene);

var center = viewer.scene.globe.ellipsoid.cartesianToCartographic(__center);

dx = (center.longitude - p.longitude) / Math.PI * 180

dy = (center.latitude - p.latitude) / Math.PI * 180

var heading = viewer.camera.heading

var pitch = viewer.camera.pitch

var height = p.height

viewer.camera.flyTo({

destination: Cesium.Cartesian3.fromDegrees(116.4997625442 - dx, 39.9843650681 - dy, height ),

orientation: {

heading: heading ,

pitch: pitch

}

})

本文发布于:2024-02-01 00:23:20,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170671820332468.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:cesium
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23