>  Q&A  >  본문

튜토리얼: CZML 문서에서 타원체의 색상을 설정하는 방법은 무엇입니까?

<p>CZML에서 타원체의 색상을 지정하는 방법은 무엇입니까?나는 JavaScript中向查看器添加实体时,以下代码文段有效:</p> <pre class="brush:php;toolbar:false;">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 } });</pre> <p>这个代码 Pictures段也有效:</p> <pre class="brush:php;toolbar:false;">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 } } });</pre> <p>但是这个代码 Pictures段无效(返回默认的白color椭球):</p> <pre class="brush:php;toolbar:false;">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 } } });</pre> <p>这个代码 Pictures段也无效(返回默认的白color椭球):</p> <pre class="brush:php;toolbar:false;">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 } } });</pre> <p>이 코드 조각도 작동하지 않습니다(기본 흰색 타원체 반환). </p> <pre class="brush:php;toolbar:false;">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 } } });</pre> <p>Cesium이 로드된 후 콘솔에 <code>Cesium.Color.RED.withAlpha(0.5)</code>를 입력하면 <code>ne {red: 1, green: 0이 반환되기 때문에 혼란스럽습니다. , 파란색: 0, 알파: 0.5}</code>. 주어진 정적 멤버에 의해 지정된 개체가 작동할 것으로 예상할 수 있습니다...</p> <p>이것은 <code>"재료"</code>의 유형입니다. 속성이 없는 추상 클래스이므로 CZML을 통해 지정할 수 없나요? 타원체의 색상 설정이 후처리를 통해서만 수행될 수 있다면 매우 번거로울 것입니다. 왜냐하면 저는 많은 처리를 오프라인으로 수행한 다음 브라우저에서 CZML을 로드할 수 있기를 원하기 때문입니다. </p> <p>EDIT: CZML 문서는 찾고 탐색하기 어렵지만 간단한 답변은 모두 있습니다. </p> <p>CZML 문서의 <code>Ellipsoid</code> 페이지, <code>Material</code> 페이지, <code>SolidColorMaterial</code> 페이지 및 선택적으로 <code>RgbaValue</code> 각 프로젝트에 대한 페이지가 포함된 GitHub 위키 형식으로 되어 있으며, 불행하게도 대부분의 문서 프로젝트는 "128개 추가 페이지 표시"를 클릭할 때까지 숨겨져 있습니다. </p>
P粉162773626P粉162773626412일 전495

모든 응답(1)나는 대답할 것이다

  • P粉009828788

    P粉0098287882023-09-04 09:31:17

    문제는 EntityCollection.add(...)에서 허용하는 Entity.ConstructorOptions가 어떤 면에서는 CZML과 유사하지만 몇 가지 분명한 차이점이 있다는 것입니다. 질문의 처음 몇 가지 작업 코드 조각은 ConstructorOptions를 올바르게 사용하지만 CZML과 정확히 동일한 방식으로 색상과 위치를 처리하지 않습니다.

    코드를 원본 CZML 형식으로 변환하려면 CZML 콘텐츠에 CzmlDataSource.load(...)를 사용할 수 있습니다. 예: Sandcastle 라이브 데모

    으아악

    회신하다
    0
  • 취소회신하다