原文链接
HTML
<div id="latlng_show" style="background-color:rgba(0, 0, 0, 0.5);bottom:1px;width:100%;height:30px;position:absolute;z-index: 999;">
<div style="float:left;">
<font size="1" color="white">经度:<span id="longitude_show"></span></font>
</div>
<div style="float:left;">
<font size="1" color="white">纬度:<span id="latitude_show"></span></font>
</div>
<div style="float:left;">
<font size="1" color="white">视角高:<span id="altitude_show"></span>km</font>
</div>
<div style="float:left;">
<font size="1" color="white">海拔高:<span id="elevation_show"></span></font>
</div>
</div>
js
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;
elevation_show.innerHTML=elec_String;
}
},Cesium.ScreenSpaceEventType.MOUSE_MOVE);
效果
