很常见的功能,鼠标点击获取点击的经纬度。
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas); //此方法获取鼠标点击位置经纬度
handler.setInputAction(function (e) {
var position = viewer.scene.pickPosition(e.position);
//将笛卡尔坐标转化为经纬度坐标
var cartographic = Cesium.Cartographic.fromCartesian(position);
var longitude = Cesium.Math.toDegrees(cartographic.longitude);
var latitude = Cesium.Math.toDegrees(cartographic.latitude);
var height = cartographic.height;
console.log(longitude,latitude,height)
viewer.camera.setView({//定位到范围中心点
destination: Cesium.Cartesian3.fromDegrees(Number(longitude), Number(latitude), 2000),
orientation: {
heading: Cesium.Math.toRadians(180),//1
pitch: Cesium.Math.toRadians(-90),
roll: 0
}
});
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);