当前位置:   article > 正文

Cesium制作鹰眼效果_cesium 鹰眼

cesium 鹰眼

        Cesium制作鹰眼效果就是在右下角放一个缩略的地球,转动大的地球的同时,也转动右下角的小地球,以保证随时可以看到一个地球的局部图,实际原理是在右下角放置一个div,也同时初始化为一个cesium的模型。在转动大的地球时,出发事件将转动的角度,缩放的大小也同步到右下角小的地球上,现实两个球的联动,下面是相关代码,想看效果可以将代码复制到html文件中,修改为自己的token,用浏览器打开查看效果。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <!-- Include the CesiumJS JavaScript and CSS files -->
  6. <script src="https://cesium.com/downloads/cesiumjs/releases/1.100/Build/Cesium/Cesium.js"></script>
  7. <link href="https://cesium.com/downloads/cesiumjs/releases/1.100/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
  8. <style>
  9. html,
  10. body,
  11. #cesiumContainer {
  12. width: 100%;
  13. height: 100%;
  14. margin: 0;
  15. padding: 0;
  16. overflow: hidden;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <div id="cesiumContainer"></div>
  22. <div style="position:absolute;width:200px;height:200px;top:80%;left:90%" id="eye"></div>
  23. <div id="credit"></div>
  24. <script>
  25. // 设置token
  26. Cesium.Ion.defaultAccessToken = 'token';
  27. //大的地球正擦显示和相关控件
  28. var viewer = new Cesium.Viewer('cesiumContainer', {});
  29. //小的地球隐藏所有的控件
  30. var viewer1 = new Cesium.Viewer('eye',{
  31. geocoder:false,//查找位置工具
  32. homeButton:false,//返回视角的初始位置
  33. sceneModePicker:false,//选择视角的模式:2D,3D,哥伦布视图
  34. baseLayerPicker:false,//图层选择选择地图服务还是地形服务
  35. navigationHelpButton:false,//导航帮助按钮
  36. animation:false,//动画器件,可以旋转地球
  37. creditContainer:"credit",//
  38. timeline:false,//下方的时间轴,默认指示当前时间,允许用户点击跳转到指定时间
  39. fullscreenButton:false,//全屏显示
  40. vrButton:false // VR 按钮,右下角有个戴眼镜的按钮,点击可以看下效果
  41. });
  42. //设置鹰眼图中球属性,禁止拖动旋转等操作
  43. let control = viewer1.scene.screenSpaceCameraController;
  44. control.enableRotate = false;
  45. control.enableTranslate = false;
  46. control.enableZoom = false;
  47. control.enableTilt = false;
  48. control.enableLook = false;
  49. //设置同步的相关方法
  50. let syncViewer = function() {
  51. viewer1.camera.flyTo({
  52. destination: viewer.camera.position,
  53. orientation: {
  54. heading: viewer.camera.heading,
  55. pitch: viewer.camera.pitch,
  56. roll: viewer.camera.roll
  57. },
  58. duration: 0.0
  59. });
  60. };
  61. //小的地球同步到啊的地球角度位置等
  62. viewer.scene.preRender.addEventListener(syncViewer);//效果和第三种方式一样,成功
  63. </script>
  64. </div>
  65. </body>
  66. </html>

效果图 1694312526936.jpg 以上如有问题可以在评论区给我留言

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号