2 获取鼠标当前位置的经纬度高度
鼠标移动时,实时获取当前鼠标位置的经纬度,相机高度与地图层级。可以在info.vue组件找到实际用例。同时也可以监听鼠标单击等事件来做一些业务应用。
viewer.scene.postRender.addEventListener(() => {
// 要判断是否定义,不然会有渲染BUG
if (!Cesium.defined(viewer.scene.globe._surface._tilesToRender[0]))
return;
// 获取地图层级
this.level = viewer.scene.globe._surface._tilesToRender[0].level;
// 获取相机高度
this.cameraHeight = viewer.camera.positionCartographic.height.toFixed(
1
);
});
// 鼠标移动显示经纬高度
viewer.cesiumWidget.screenSpaceEventHandler.setInputAction(e => {
let ray = viewer.camera.getPickRay(e.endPosition);
let cartesian = viewer.scene.globe.pick(ray, viewer.scene);
// 计算经纬高度
if (Cesium.defined(cartesian)) {
this.lonLatAlt = HelperUtils.getLonLatAlt(cartesian);
} else {
this.lonLatAlt = [];
}
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
网友评论