検索

ホームページ  >  に質問  >  本文

チュートリアル: CZML ドキュメントで楕円体の色を設定するにはどうすればよいですか?

<p>CZML で楕円体の色を指定するにはどうすればよいですか?JavaScript でビューアにエンティティを追加すると、次のコード スニペットが機能します。 <pre class="brush:php;toolbar:false;">let redEllipsoid = viewer.entities.add({ 「名前」: 「赤い楕円体」、 「位置」: Cesium.Cartesian3.fromDegrees(-114.0, 40.0, 300000.0), 「楕円体」: { "半径": new Cesium.Cartesian3(200000.0, 200000.0, 300000.0), 「マテリアル」: Cesium.Color.RED.withAlpha(0.5)、 「概要」: true、 「アウトラインカラー」: Cesium.Color.BLACK } });</pre> <p>次のコード スニペットも機能します: </p> <pre class="brush:php;toolbar:false;">let redEllipsoid = viewer.entities.add({ 「名前」: 「赤い楕円体」、 「位置」: { x: -2083516.9683773473、 y: -4679655.730028949、 z: 4270821.855106338 }、 「楕円体」: { 「半径」: { ×:200000、 y: 200000、 z: 300000 }、 「マテリアル」: Cesium.Color.RED.withAlpha(0.5)、 「概要」: true、 「アウトラインカラー」: { 赤: 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 }、 「楕円体」: { 「半径」: { ×:200000、 y: 200000、 z: 300000 }、 「素材」: { "ソリッドカラー": { 「色」: { 「rgba」: [1、0、0、0.5] } } }、 「概要」: true、 「アウトラインカラー」: { 赤: 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 }、 「楕円体」: { 「半径」: { ×:200000、 y: 200000、 z: 300000 }、 「素材」: { 「色」: { 赤:1、 緑: 0、 青: 0、 アルファ: 0.5 } }、 「概要」: true、 「アウトラインカラー」: { 赤: 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 }、 「楕円体」: { 「半径」: { ×:200000、 y: 200000、 z: 300000 }、 「素材」: { 赤:1、 緑: 0、 青: 0、 アルファ: 0.5 }、 「概要」: true、 「アウトラインカラー」: { 赤: 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>編集: CZML ドキュメントを見つけて移動するのは困難ですが、簡単な答えはすべてそこにあります: </p> <p>CZML ドキュメントの <code>Ellipsoid</code> ページ、<code>マテリアル</code> ページ、<code>SolidColorマテリアル</code> ページ、<code>Color</code> を参照してください。ページ、およびオプションで <code>RgbaValue</code> ページ。これは GitHub wiki としてフォーマットされており、各プロジェクトのページが含まれています。残念ながら、ドキュメント プロジェクトのほとんどは、[さらに 128 ページを表示] をクリックするまで非表示になります。 </p>
P粉162773626P粉162773626449日前532

全員に返信(1)返信します

  • P粉009828788

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

    問題は、EntityCollection.add(...)accepted Entity.ConstructorOptions はいくつかの点で CZML に似ていますが、いくつかの明らかな違いがあることです。質問内の最初のいくつかの動作するコード スニペットは ConstructorOptions を正しく使用していますが、CZML とまったく同じように色と位置を処理しません。

    コードを元の CZML 形式に変換するには、CZML コンテンツで CzmlDataSource.load(...) を使用します。例: Sandcastle リアルタイム デモンストレーション

    リーリー

    返事
    0
  • キャンセル返事