プラグインAPIは、プラグインが Re:Earth Visualizer と通信するための仕組みです。Visualizer のソースコードへアクセスしなくても、データの読み取り、ユーザー操作への応答、地図上の表示制御、独自 UI の管理などを行えます。
API 全体は、reearth という 1 つのグローバルオブジェクトを通じて利用できます。プラグインに必要なすべての機能は、このオブジェクトからアクセスします。たとえば、カメラの操作には reearth.camera、レイヤの操作には reearth.layers を使用します。
API は、プラグインが行うことを基準に構成されています。プラグインはユーザーにインターフェースを提供し、地図、レイヤ、データから成るシーンを操作します。API の各要素には次の役割があります。
- プラグイン自身(
reearth.extension): 設定されたプロパティ、UI とのメッセージ通信、ライフサイクルイベントなど、プラグイン自身のコンテキストを扱います。 - プラグインのインターフェース(
reearth.ui、reearth.modal、reearth.popup): メイン UI パネル、ダイアログ、小さなアンカーウィンドウなど、ユーザーが見て操作する要素を扱います。 - シーン(
reearth.viewer、reearth.camera、reearth.timeline): ビューアの環境と設定、視点、時間に基づく再生など、ユーザーが見ている空間を扱います。 - コンテンツ(
reearth.layers、reearth.data): 地図レイヤやクライアント側のデータストレージなど、地図に表示するデータとプラグインが保持するデータを扱います。 - 描画・位置ツール(
reearth.sketch、reearth.spatialId): 地図上への図形の描画や、空間 ID による位置参照を扱います。 - システム情報(
reearth.version、reearth.apiVersion、reearth.engine): Visualizer のバージョンやレンダリングエンジンなど、プラグインが動作する環境の基本情報を提供します。
これらの要素は、どのプラグインでも連携して動作します。イベントも同じ構成に含まれます。reearth.viewer はマウスイベント、reearth.timeline は tick、reearth.extension はメッセージを発行します。イベントを監視するときは、そのイベントに対応するオブジェクトへリスナーを登録します。
たとえば、保存した場所へ移動するプラグインでは、reearth.extension から設定を読み取り、reearth.ui でクリック可能な一覧を表示し、場所が選択されたときに reearth.camera で視点を移動します。
利用できるすべてのプロパティとメソッドについては、API リファレンスを参照してください。