zoukankan      html  css  js  c++  java
  • Cesium中实时显示经纬度及视角高

    控件

            <div id="latlng_show" style="position:absolute;">
              <div style="float:left;">
                   <font size="1" color="white">经度:<span id="longitude_show"></span></font>
              </div>
              <br>
              <div style="float:left;">
                   <font size="1" color="white">纬度:<span id="latitude_show"></span></font>
              </div>
                <br>
              <div style="float:left;">
                   <font size="1" color="white">视角高:<span id="altitude_show"></span>km</font>
              </div>
               <br>
              <div style="float:left;">
                   <font size="1" color="white">海拔高:<span id="elevation_show"></span></font>
              </div>
    
            </div>
    

      

    代码

    // g跟随鼠标获取经纬度和海拔
    var longitude_show=document.getElementById('longitude_show');
    var latitude_show=document.getElementById('latitude_show');
    var altitude_show=document.getElementById('altitude_show');
    var elevation_show=document.getElementById('elevation_show');
    
    
    var canvas=viewer.scene.canvas;
    //具体事件的实现
    var ellipsoid=viewer.scene.globe.ellipsoid;
    var handler = new Cesium.ScreenSpaceEventHandler(canvas);
    handler.setInputAction(function(movement){
                //捕获椭球体,将笛卡尔二维平面坐标转为椭球体的笛卡尔三维坐标,返回球体表面的点
                 var cartesian=viewer.camera.pickEllipsoid(movement.endPosition, ellipsoid);
                  if(cartesian){
                       //将笛卡尔三维坐标转为地图坐标(弧度)
                       var cartographic=viewer.scene.globe.ellipsoid.cartesianToCartographic(cartesian);
                       //将地图坐标(弧度)转为十进制的度数
                        var lat_String=Cesium.Math.toDegrees(cartographic.latitude).toFixed(4);
                        var log_String=Cesium.Math.toDegrees(cartographic.longitude).toFixed(4);
                        var alti_String=(viewer.camera.positionCartographic.height/1000).toFixed(2);
                        var elec_String=viewer.scene.globe.getHeight(cartographic).toFixed(4);
    
                        longitude_show.innerHTML=log_String;
                        latitude_show.innerHTML=lat_String;
                        altitude_show.innerHTML=alti_String;//视角高度 km
                        elevation_show.innerHTML=elec_String;//海拔
                   }
            },Cesium.ScreenSpaceEventType.MOUSE_MOVE);
    

      

  • 相关阅读:
    洛谷P3674 小清新人渣的本愿
    洛谷P3709 大爷的字符串
    CF747F Igor and Interesting Numbers
    洛谷P1494 小Z的袜子
    洛谷P3396 哈希冲突
    分块⑨题
    洛谷P4219 大融合
    bzoj2959 长跑
    洛谷P2486 染色
    洛谷P4382 劈配
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/14059265.html
Copyright © 2011-2022 走看看