Cesium의 좌표 선택

2233 단어 Cesiumcesium
화면 좌표: 마우스 클릭 위치 거리 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:scene.pick은 이 방법을 통해pick 대상을 얻을 수 있습니다.pick을 통해.id는 현재 entity 대상을 선택할 수 있고 Cesium3DtileFeature 대상을 얻을 수 있습니다.drillPick:scene.drillPick(click.position)은 현재 마우스 클릭 위치에서 entity의 집합을 가져온 다음 for 순환을 통해 현재 좌표 아래의 모든 entity를 얻을 수 있습니다.원문 링크:https://blog.csdn.net/qq_36377037/article/details/105798051

좋은 웹페이지 즐겨찾기