Cesium의 좌표 선택 상세 정보
8270 단어 cesuim 학습
Cesium의 좌표 선택
canvas
왼쪽 상단의 픽셀 값var handler= new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(function (movement) {
// movement.position
console.log(movement.position);
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
pickEllipsoid(windowPosition, ellipsoid, result) → Cartesian3
var canvas = viewer.scene.canvas;
var center = new Cesium.Cartesian2(canvas.clientWidth / 2.0, canvas.clientHeight / 2.0);
var ellipsoid = viewer.scene.globe.ellipsoid;
var result = viewer.camera.pickEllipsoid(center, ellipsoid);
pick(ray, scene, result) → Cartesian3|undefined
// windowPosition 。
// Cartesian3 。
var ray = viewer.camera.getPickRay(windowCoordinates);
// 。 。
var intersection = globe.pick(ray, scene);
pickPosition(windowPosition, result) → Cartesian3
var viewer = new Cesium.Viewer('cesiumContainer');
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(function (movement) {
var pickedObject = viewer.scene.pick(movement.endPosition);
// , pickPositionSupported
if (scene.pickPositionSupported && Cesium.defined(pickedObject)) {
var cartesian = viewer.scene.pickPosition(movement.endPosition);
console.log(cartesian);
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
globe.pick
과scene.pickPosition
비교globe.pick
의 결과는 상대적으로 안정적이고 정확하며 지형 깊이 검측의 오픈 여부, 기본 지형이든 다른 지형 데이터든 상관없다.scene.pickPosition
는 지형 깊이 측정을 켜고 기본 지형을 사용하지 않을 때만 정확하다.globe.pick
지형만 구할 수 있다.scene.pickPosition
지형을 구할 수 있을 뿐만 아니라 지형을 제외한 모든 깊이를 쓴 물체도 구할 수 있다.그래서 사용할 때 양자를 결합하여 사용할 수 있다.Scene
중pick
설명pick:scene.pick
을 통해pick대상을 얻을 수 있고, pick.id
을 통해현재entity
대상을 픽업할 수 있으며, Cesium3DTileFeature
대상을 획득할 수 있다.drillPick:scene.drillPick(click.position)
는 현재 마우스 클릭 위치에서 entity
의 집합을 가져온 다음에 for순환을 통해 현재 좌표 아래의 모든entity를 얻을 수 있습니다.