ビジュアライザープラグインとは?

「ビジュアライザープラグイン」とは、Visualizerの機能を拡張したり、独自のUIや動作を追加したりできる、小さなWebアプリケーションです。

地図表示だけでは表現しきれない体験や、プロジェクト固有の機能を実装するために活用できます。プラグインはVisualizerの本体コードを変更せずにカスタマイズ性や柔軟性を向上させる仕組みです。

具体的な開発方法は、「独自プラグインを開発する(執筆中)」ページをご覧ください。

どんなときに活用する?

例えば以下のようなニーズがあるとき、プラグインを導入することで、より高度な表現や操作を実現できます。

プラグインの構成要素

プラグインは「Extension(拡張)」単位で構成され、Extensionは表示位置とその動作を定義し、3種類のExtensionの違いを比較できます。各Extensionは reearth.yml に記述され、対応する .js ファイルで動作を記述します。

Extension種別 表示場所 主な用途例
widget Visualizerの画面端 地図上にツールやボタンを配置(例:切替スイッチ)
infoboxBlock 地物を選択した際の情報パネル(インフォボックス) 属性情報の可視化、画像・グラフなどの追加表示
storyBlock ストーリーページ内 ページごとの補足情報、チャートやナビゲーションの追加

プラグインの実行構造

ビジュアライザープラグインは、WebAssembly(WASM)と iframe の2つの実行環境を組み合わせたハイブリッド方式で動作します。両者は、postMessage による送受信で連携します。

領域 説明
WebAssembly(WASM)側 プラグインのエントリーポイント。Visualizer本体と同じスレッド内で同期的に実行され、シーン情報などにアクセス可能。
iframe側 実際のHTML UIを表示する部分。Web API(DOM、Canvas、AJAX等)や外部通信が可能。Visualizer本体のデータには直接アクセスできない。

機能比較

機能項目 WebAssembly側 iframe側
プラグインの起動(エントリーポイント)
Re:Earth VisualizerのAPI利用
HTML UIの描画
Web APIの使用(DOM操作、fetchなど)
外部サーバー通信(CORSあり)
postMessageによる通信