在网页三维地球上进行可视化开发与经纬度坐标以及高度是分不开的,能够实时获取鼠标位置的经纬度对可视化效果有很好的帮助,Cesium当然能做到:
(1)首先在里创建显示坐标的容器
样式自己调整的合适即可,要注意一点,position必须设成absolute,z-index必须大于1,因为cesiumcontainer的z-index是1.
(2)在
//显示坐标
var canvas = scene.canvas;
var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas); handler.setInputAction(function (movement) {
var cartesian = scene.camera.pickEllipsoid(movement.endPosition, ellipsoid);
var ellipsoid = scene.globe.ellipsoid;
if (cartesian) { //能获取,显示坐标
var cartographic = ellipsoid.cartesianToCartographic(cartesian);
var coords = '经度' + Cesium.Math.toDegrees(cartographic.longitude).toFixed(2) + ', ' + '纬度' + Cesium.Math.toDegrees(cartographic.latitude).toFixed(2) + '
' + '高度' + Math.ceil(viewer.camera.positionCartographic.height);
' + '高度' + Math.ceil(viewer.camera.positionCartographic.height);
document.getElementByIdx_x_x('coords').innerHTML =
coords; document.getElementByIdx_x_x('coords').style.display =
'';
} else { //不能获取不显示
document.getElementByIdx_x_x('coords').style.display = 'none';
}
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
这里是用了cesium的mousemove事件。