2017-12-28 6 views

답변

0

이 작업에는 몇 가지 상위 수준과 하위 수준이 있습니다. 하이 레벨은 가장 쉽기 때문에 거기에서 시작할 것입니다. Cesium Viewer는 자신의 선택이 바뀌면 selectedEntityChanged이라는 이벤트를 발생시키고이를 빌보드 게시 플래그를 켜고 끌 수 있습니다.

Here's a demo. 이 데모에서는 원래 map pins demo을 가져 와서 몇 줄의 코드를 추가했습니다. 시작시 모든 광고판에 대해 show 플래그를 해제하고, 현재 숨겨진 광고판을 표시 할 포인트를 추가하고, 다음 블록을 추가했습니다. 다음과 같이 선택하면 코드는 광고판 쇼 플래그를 전환합니다 :

var lastSelectedPin; 
viewer.selectedEntityChanged.addEventListener(function(newEntity) { 
    if (lastSelectedPin && lastSelectedPin.billboard) { 
     lastSelectedPin.billboard.show = false; 
    } 
    lastSelectedPin = newEntity; 
    if (lastSelectedPin && lastSelectedPin.billboard) { 
     lastSelectedPin.billboard.show = true; 
    } 
}); 

이것은 세슘 뷰어 자신의 선택 시스템을 사용하지만, 선택시 표시 및 선택 해제 할 때 사라질 광고판 쇼 플래그를 전환합니다.

또는 세슘의 더 낮은 수준을 조사하여 더 세밀하게 제어 할 수 있지만 학습 곡선이 길어집니다. Picking Demo은 특정 화면 위치에있는 내용을 감지하는 다양한 방법을 제공하는 scene.pick, scene.drillPickcamera.pickEllipsoid을 비롯한 여러 가지 유형의 피킹 작업을 보여줍니다. 종종 이러한 함수는 사용자가 상호 작용하는 것을보기 위해 마우스 이동 또는 클릭 또는 터치/포인터 이벤트에 대한 응답으로 호출됩니다.

관련 문제