主要利用viewer.clock.onTick.addEventListener对clock增加监听事件,实时获取目标entity的经纬度高度等信息。最后显示到标牌中即可。
核心代码如下
function tarInfo(tarentity){
viewer.clock.onTick.addEventListener(function(clock){
var curtime = viewer.clock.currentTime;
var pos = tarentity.position.getValue(curtime,result);
var cartographic = Cesium.Ellipsoid.WGS84.cartesianToCartographic(pos);
var lon = Cesium.Math.toDegrees(cartographic.longitude);
var lat = Cesium.Math.toDegrees(cartographic.latitude);
var height = cartographic.height;
var pmpos = Cesium.SceneTransforms.wgs84ToWindowCoordinates(scene, pos);
var info = '<h4>'+tarentity.name+'</h4>'+
'<p>经度:<span class="text-color-blue-light">'+lon.toFixed(8)+'</span></p>' +
' <p>维度:<span class="text-color-blue-light">'+lat.toFixed(8)+'</span></p>' +
' <p>高度:<span class="text-color-blue-light">'+height.toFixed(8)+'</span></p>';
tipDiv.showAt(pmpos, info);
});