CZML에서 타원체의 색상을 지정하는 방법은 무엇입니까?나는 JavaScript中向查看器添加实体时,以下代码文段有效:
let redEllipsoid = Viewer.entities.add({ "이름": "빨간색 타원체", "위치": Cesium.Cartesian3.fromDegrees(-114.0, 40.0, 300000.0), "타원체": { "반경": 새로운 Cesium.Cartesian3(200000.0, 200000.0, 300000.0), "재료": Cesium.Color.RED.withAlpha(0.5), "개요": 사실, "outlineColor": Cesium.Color.BLACK } });
这个代码 Pictures段也有效:
let redEllipsoid = Viewer.entities.add({ "이름": "빨간색 타원체", "위치": { x: -2083516.9683773473, y: -4679655.730028949, z: 4270821.855106338 }, "타원체": { "반경": { x: 200000, y: 200000, z: 300000 }, "재료": Cesium.Color.RED.withAlpha(0.5), "개요": 사실, "개요색상": { 빨간색: 0, 녹색: 0, 파란색: 0, 알파: 1 } } });
但是这个代码 Pictures段无效(返回默认的白color椭球):
let redEllipsoid = Viewer.entities.add({ "이름": "빨간색 타원체", "위치": { x: -2083516.9683773473, y: -4679655.730028949, z: 4270821.855106338 }, "타원체": { "반경": { x: 200000, y: 200000, z: 300000 }, "재료": { "solidColor": { "색상": { "rgba": [1, 0, 0, 0.5] } } }, "개요": 사실, "개요색상": { 빨간색: 0, 녹색: 0, 파란색: 0, 알파: 1 } } });
这个代码 Pictures段也无效(返回默认的白color椭球):
let redEllipsoid = Viewer.entities.add({ "이름": "빨간색 타원체", "위치": { x: -2083516.9683773473, y: -4679655.730028949, z: 4270821.855106338 }, "타원체": { "반경": { x: 200000, y: 200000, z: 300000 }, "재료": { "색상": { 빨간색: 1, 녹색: 0, 파란색: 0, 알파: 0.5 } }, "개요": 사실, "개요색상": { 빨간색: 0, 녹색: 0, 파란색: 0, 알파: 1 } } });
이 코드 조각도 작동하지 않습니다(기본 흰색 타원체 반환).
let redEllipsoid = Viewer.entities.add({ "이름": "빨간색 타원체", "위치": { x: -2083516.9683773473, y: -4679655.730028949, z: 4270821.855106338 }, "타원체": { "반경": { x: 200000, y: 200000, z: 300000 }, "재료": { 빨간색: 1, 녹색: 0, 파란색: 0, 알파: 0.5 }, "개요": 사실, "개요색상": { 빨간색: 0, 녹색: 0, 파란색: 0, 알파: 1 } } });
Cesium이 로드된 후 콘솔에 Cesium.Color.RED.withAlpha(0.5)
를 입력하면 ne {red: 1, green: 0이 반환되기 때문에 혼란스럽습니다. , 파란색: 0, 알파: 0.5}
. 주어진 정적 멤버에 의해 지정된 개체가 작동할 것으로 예상할 수 있습니다...
이것은 "재료"
의 유형입니다. 속성이 없는 추상 클래스이므로 CZML을 통해 지정할 수 없나요? 타원체의 색상 설정이 후처리를 통해서만 수행될 수 있다면 매우 번거로울 것입니다. 왜냐하면 저는 많은 처리를 오프라인으로 수행한 다음 브라우저에서 CZML을 로드할 수 있기를 원하기 때문입니다.
EDIT: CZML 문서는 찾고 탐색하기 어렵지만 간단한 답변은 모두 있습니다.
CZML 문서의 Ellipsoid
페이지, Material
페이지, SolidColorMaterial
페이지 및 선택적으로 RgbaValue
각 프로젝트에 대한 페이지가 포함된 GitHub 위키 형식으로 되어 있으며, 불행하게도 대부분의 문서 프로젝트는 "128개 추가 페이지 표시"를 클릭할 때까지 숨겨져 있습니다.
문제는EntityCollection.add(...)에서 허용하는Entity.ConstructorOptions가 어떤 면에서는 CZML과 유사하지만 몇 가지 분명한 차이점이 있다는 것입니다. 질문의 처음 몇 가지 작업 코드 조각은 ConstructorOptions를 올바르게 사용하지만 CZML과 정확히 동일한 방식으로 색상과 위치를 처리하지 않습니다.
코드를 원본 CZML 형식으로 변환하려면 CZML 콘텐츠에
으아악CzmlDataSource.load(...)
를 사용할 수 있습니다. 예:Sandcastle 라이브 데모