コンテンツにスキップ
JP

イベント

更新日

Re:Earth Visualizer プラグイン API は、さまざまなコンポーネントにわたってイベントを処理するための一貫したパターンを提供します。イベントを使用することで、プラグインはユーザーのインタラクションやシステムの変化にリアルタイムで応答できます。

Re:Earth Visualizer のすべてのイベント対応コンポーネントは、イベントのサブスクライブおよびアンサブスクライブに同じパターンを共有しています。

on メソッドを使用すると、指定したイベントが発生したときに呼び出されるイベントリスナーを登録できます。

on<T extends keyof EventType>(
type: T,
callback: (...args: EventType[T]) => void,
options?: { once?: boolean }
): void
  • type: 待ち受けるイベントタイプ
  • callback: イベント発生時に実行する関数
  • options(省略可能): 設定オプション
    • once: true に設定すると、リスナーは一度呼び出された後に自動的に削除されます
// 基本的なイベントリスナー
reearth.popup.on("close", () => {
console.log("Popup was closed");
});
// 一度だけトリガーされるイベントリスナー
reearth.layers.on(
"select",
(layerId, featureId) => {
console.log("Layer selected (this will only trigger once):", layerId, featureId);
},
{ once: true }
);

off メソッドを使用すると、以前に登録したイベントリスナーを削除できます。

off<T extends keyof EventType>(
type: T,
callback: (...args: EventType[T]) => void
): void
  • type: 登録を解除するイベントタイプ
  • callback: on で登録した関数
// コールバック関数を定義する
const handleClose = () => {
console.log("Popup was closed");
};
// イベントリスナーを登録する
reearth.popup.on("close", handleClose);
// リスニングを停止する場合
reearth.popup.off("close", handleClose);

Re:Earth Visualizer の各コンポーネントには独自のイベントタイプがあります。特定のイベントの詳細については、各コンポーネントのドキュメントを参照してください。