세슘에서 Waze LiveMap (https://www.waze.com/livemap)을 사용하여 볼 수있는 기능을 모방하려고합니다. 점을 클릭하면 아이콘이있는 표식으로 변환됩니다.세슘 - 클릭하면 아이콘이있는 표준 마커로 맵 포인트가 변경됩니다.
저는 다양한 성공 수준으로 몇 가지 시도를 해봤습니다. 누구든지 내가 어떻게 진행할 수있는 좋은 제안을 가지고 있습니까?
세슘에서 Waze LiveMap (https://www.waze.com/livemap)을 사용하여 볼 수있는 기능을 모방하려고합니다. 점을 클릭하면 아이콘이있는 표식으로 변환됩니다.세슘 - 클릭하면 아이콘이있는 표준 마커로 맵 포인트가 변경됩니다.
저는 다양한 성공 수준으로 몇 가지 시도를 해봤습니다. 누구든지 내가 어떻게 진행할 수있는 좋은 제안을 가지고 있습니까?
이 작업에는 몇 가지 상위 수준과 하위 수준이 있습니다. 하이 레벨은 가장 쉽기 때문에 거기에서 시작할 것입니다. 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.drillPick
및 camera.pickEllipsoid
을 비롯한 여러 가지 유형의 피킹 작업을 보여줍니다. 종종 이러한 함수는 사용자가 상호 작용하는 것을보기 위해 마우스 이동 또는 클릭 또는 터치/포인터 이벤트에 대한 응답으로 호출됩니다.