問題タブ [cesium]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Cesiumjs マウスにズーム
プロジェクトでは Cesiumjs マップを使用します。ズームしようとすると、マウスの位置ではなく、画面の中心にズームされます。
誰もそれを修正する方法を知っていますか? ありがとう
cesium - すべてのイベントをキャプチャする一般的な ScreenSpaceEvent はありますか?
特定のスペース ハンドラに反応するには、通常これを行います -
この機能は WHEEL 入力に限定されます。カメラの位置や高さが変わるたびに、やらなければならないことがいくつかあります。上記と同様の方法でカメラのイベント ハンドラーを作成し、camera.positionCartographic
その関数内で呼び出してみましたが、役に立ちませんでした。
何らかの動きを捉えるセシウムのイベントはありますか?
javascript - Cesium : 独自の OpenStreetMap サーバーを使用。: 「画像タイルの取得に失敗しました」エラー
switch2osm.orgのガイドに従って、独自の OSM タイル サーバーを実行することができました。
webbrowser を使用して、OSM タイル サーバーの状態を確認しました。たとえば、http://localhost/osm_tiles/0/0/0.pngでは、世界の小さな画像が表示されます。Evertthing はサーバー側で動作しているようです。
マップのオンライン ソースに接続されたセシウムも正常に動作します。
Cesium をローカル OSM サーバーに接続しようとすると、問題が発生します。Firefox コンソールで、次のエラーが表示されます。
「「」でエラーが発生しました: イメージ タイルの取得に失敗しました X: 1 Y: 1 レベル: 1.」Cesium.js:381:25514 「""でエラーが発生しました: イメージ タイルの取得に失敗しました X: 1 Y: 0 レベル: 1." Cesium.js:381:25514 「""でエラーが発生しました: イメージ タイルの取得に失敗しました X: 0 Y: 0 レベル: 1." Cesium.js:381:25514 「""でエラーが発生しました: 画像タイルの取得に失敗しました X: 0 Y: 1 レベル: 1." セシウム.js:381:25514
私はこの問題で数日間立ち往生しています。Web を検索しても、有用な手がかりは得られませんでした。
Cesiumを実行しているWebページのソースコードは次のとおりです。
cesium - Cesium 1.7+ での非同期エンティティ レンダリング
皆さん、良い一日を
私は少しの間 Cesium を使用してきましたが、プリミティブ コレクションを使用するようになったときに始めました。クリック アンド ドラッグ プリミティブ レンダリングが機能していましたが、Cesium をアップグレードしてエンティティに移動したいと考えています。コードを移動してリファクタリングし、クリック アンド ドラッグして図形を描画できるようにしました。ただし、非同期フラグを反転する前に、マウスを動かしたときにレンダリングされました。今、私はそれを行うことができません。ビューアーの「allowDataSourcesToSuspendAnimation」をfalseに設定しようとしましたが、役に立ちませんでした。どんな助けでも大歓迎です。
私の素朴さで、質問にコードスニペットを追加するのを忘れていました。これは、マウス ダウンが発生したときにのみ発生するクロック ティック イベント リスナーにあります (ブール値を true に設定)。
kml - KML ファイルのレンダリングの問題 - スムーズ テキスト
非常に厳密に定義されたポリラインを含む KML ファイルがあります (主にテキストを描画するために使用されますが、それだけではありません)。同じ KML ファイルを Cesium (1.6 または 1.7)、OpenLayers、または GoogleEarth に取り込むと、同じ結果が得られます。
- セシウムはテキストを非常にぎざぎざにレンダリングします。
- OpenLayers と GoogleEarth はどちらもテキストをスムーズにレンダリングします。
removeDuplicates()
データの「間引き」の原因であると考えられる方法を見てきました。EPSILON をより高い値に設定すると、「テキスト ポリライン」が適切にレンダリングされます。removeDuplicatesEpsilon
どこかで変数をオーバーライドできますか?
メソッド内で、removeDuplicates()
削除するポイントが少なくとも 1 つあると判断されると、後続の各ポイントをリスト内の前のポイントと比較するように見えます。各ポイントを以前に受け入れられたポイントと比較すべきではありませんか? (リストの前のポイントとは対照的に、これも含まれない可能性があります)。
セシウムコード:
サンプル KML -
javascript - cesiumjsポリラインの長さの問題
CesiumJs の球体にポリラインを描画しようとしています。このポリラインは実際には円になります。ここで currentLine は配列です。[x1,y1,z1,x2,y2,z2....]
長さが 549 より大きい場合、または別の意味でポリラインのポイントが 183 を超える場合は常に、セシウム モジュールはエラーを返します。
レンダリング中にエラーが発生しました。レンダリングが停止しました。TypeError: Cannot read property 'x' of undefined TypeError: Cannot read property 'x' of undefined at Function.i.subtract (/include/Cesium-1.7.1/Build/Cesium/Workers/createGeometry.js:73:6359) Function.v.createGeometry (/include/Cesium-1.7.1/Build/Cesium/Workers/createPolylineGeometry.js:60:28125) で n (include/Cesium-1.7.1/Build/Cesium/Workers/createPolylineGeometry.js) :60:29743) DedicatedWorkerGlobalScope の (include/Cesium-1.7.1/Build/Cesium/Workers/createGeometry.js:76:31234) で。(include/Cesium-1.7.1/Build/Cesium/Workers/createGeometry.js:76:30500)
これがコードです
この問題を解決する方法を教えてください:)ありがとうございます重複があるかどうか疑問に思っていたので、すべての重複を削除しましたが、配列は3の倍数ではなくなり、有効なポリラインとして受け入れられませんでした:/
javascript - セシウムでシーンチェンジイベントを取得するには?
これらの値を示す表示を更新できるように、Cesium ビューでカメラの位置、方向、ピッチ、またはロールが変更されるたびに検出したいと考えています。かなりの検索を行った後、最終的に、ウィジェットの Scene オブジェクトのまったく直感的ではないイベントpreRender
またはイベントにイベント ハンドラーを追加できることを発見しました。postRender
ただし、これらのイベントは両方とも、1 秒あたり何百回も継続的に発生します。クロックティックごとに1回発砲していると思います。マップのビューが変更された後に単に発生するように登録できる別のイベントはありますか? moveend
リーフレットのイベントに近いものを探しているんですけどpreRender
ねpostRender
。
それができない場合、何かが実際に変更された場合にのみ取得preRender
または起動する方法はありますか?postRender
unity3d - Unity とセシウムの接続
Unityと WebGL Library Cesiumを接続する予定です。今のところ私の考えは、Cesium からマップの特定の部分を GeoTiff ファイルとしてエクスポートし、それを Unity にインポートして平面にマップすることです。
ただし、これを行う方法がわかりません。Unity で Cesium からのマップを表示するアイデアや別のソリューションを誰かが思いつきましたか?