• 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);
    

      

  • 相关阅读:
    ASIHTTPREQUEST 文档
    本地通知
    ASIHttpRequest 使用过程中,中文编码的问题
    讲讲最近自己的学习,谈谈未来的想法
    关于 ASP.NET MVC 4 如果管理用户
    [转贴]超级懒汉编写的基于.NET的微信SDK
    [转贴]实践:C++平台迁移以及如何用C#做C++包装层
    [转贴]Linq之动态查询
    [转贴]watin的一些例子
    [转贴]xcode帮助文档
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/14059265.html
Copyright © 2020-2023  润新知