Re:Earth Visualizer には強力なスケッチ機能が搭載されており、ユーザーはカスタムのマーカー、ポリライン、ポリゴンなどをマップ上に直接動的に描画できます。この機能は、プラグイン API の reearth.sketch を通じてアクセスできます。
現在のスケッチツールを取得します。
reearth.sketch.tool: SketchType;型 SketchType = | "marker" | "polyline" | "circle" | "rectangle" | "polygon" | "extrudedCircle" | "extrudedRectangle" | "extrudedPolygon"
options
Section titled “options”現在のスケッチオプションを取得します。
reearth.sketch.options: SketchOptions;型
type SketchOptions = { color?: string; appearance?: SketchAppearance; dataOnly?: boolean; disableShadow?: boolean; rightClickToAbort?: boolean; autoResetInteractionMode?: boolean;};- color: スケッチジオメトリの基本色を指定します。
- appearance: 描画完了後にスケッチジオメトリに適用されるスタイルを定義します。
- dataOnly:
trueに設定すると、描画後にマップへ新しいレイヤが追加されません。デフォルト:false(注意: Re:Earth Visualizer エディター内ではこのオプションはtrueに設定されます)。 - disableShadow: 描画されたジオメトリに影を表示するかどうかを設定します。デフォルト:
false。 - rightClickToAbort: 右クリックで現在の描画を中止できるようにします。デフォルト:
true(注意: Re:Earth Visualizer エディター内ではこのオプションはfalseに設定されます)。 - autoResetInteractionMode: 描画完了後にビューアのインタラクションモードを自動的にデフォルトにリセットします。デフォルト:
true。
setTool
Section titled “setTool”スケッチツールを特定のタイプに設定します。undefined を指定するとスケッチモードを終了します。
reearth.sketch.setTool: (type: SketchType | undefined) => void;型 SketchType | undefined
なし(void)。このメソッドは値を返しません。
overrideOptions
Section titled “overrideOptions”現在のスケッチオプションを上書きします。
reearth.sketch.overrideOptions: (options: SketchOptions) => void;options
Section titled “options”型 SketchOptions
なし(void)。このメソッドは値を返しません。
create
Section titled “create”このイベントは、スケッチ描画が正常に完了したときにトリガーされます。
reearth.sketch.on("create", (prop: SketchEventProps) => void);型
type SketchEventProps = { layerId?: string; featureId?: string; feature?: SketchFeature;};- layerId: スケッチレイヤの ID です。
dataOnlyオプションが有効な場合、このプロパティは利用できません。 - featureId: スケッチフィーチャーの ID です。
dataOnlyオプションが有効な場合も利用できません。 - feature:
propertiesにid、type、positions、extrudedHeightを含むGeoJSONオブジェクトです。
reearth.sketch.setTool("polygon");
reearth.sketch.on("create", (props) => { console.log(`New sketch feature created:`, props);});toolChange
Section titled “toolChange”このイベントは、スケッチツールが変更されたときにトリガーされます。
reearth.sketch.on("toolChange", (type: SketchType | undefined) => void);型 SketchType | undefined
reearth.sketch.on("toolChange", (tool) => { console.log(`Sketch tool changed:`, tool);});
// イベントを確認するために非同期で以下を実行してください:reearth.sketch.setTool("polygon");reearth.sketch.setTool(undefined);