# ThreeLayerInterface

カスタム three.js レイヤーのインターフェースです。これは実装者がモデル化するための仕様であり、エクスポートされたメソッドやクラスではありません。

カスタム three.js レイヤーには、three.js (opens new window) のシーンが含まれています。開発者は、マップのカメラを使って、three.js オブジェクトをマップの GL コンテキストに直接レンダリングすることができます。このレイヤーは Map#addLayer を使ってマップに追加できます。

カスタムの three.js レイヤーは、一意の id を持ち、type'three' である必要があります。また、onAddonRemove を実装することができます。

# プロパティ

# id (string (opens new window))

固有のレイヤー ID です。

# lightColor (number (opens new window) | Color (opens new window) | string (opens new window))

ライトの色です。16進数のカラー、three.js の Color (opens new window) インスタンス、または CSS 形式の文字列を指定できます。指定しない場合は、現在の日時に基づいた動的なライトの色が使用されます。

# maxzoom (number (opens new window))

レイヤーの最大ズームレベルです。maxzoom 以上のズームレベルでは、レイヤーは非表示になります。値は 0 から 24(これを含む)までの任意の数値です。maxzoom が指定されていない場合は、レイヤーはすべてのズームレベルで表示されます。

# minzoom (number (opens new window))

レイヤーの最小のズームレベルです。minzoom 未満のズームレベルでは、レイヤーは非表示になります。値は 0 から 24(これを含む)の間の任意の数値です。minzoom が指定されていない場合は、レイヤーはすべてのズームレベルで表示されます。

# type (string (opens new window))

レイヤーのタイプです。必ず 'three' と指定してください。

# インスタンスメンバ

# onAdd(map, context)

Map#addLayer でレイヤーが Map に追加された際に呼び出される、任意実装のメソッドです。これを利用して、レイヤーは three.js のリソースを初期化し、イベントリスナーを登録することができます。

# パラメータ

map (Map) このレイヤーが追加された Mini Tokyo 3D の Map

context (Object (opens new window)) このレイヤーに含まれる three.js のレンダラー、シーン、カメラオブジェクトです。

名前 説明
context.camera
PerspectiveCamera (opens new window)
Camera オブジェクト
context.renderer
WebGLRenderer (opens new window)
Renderer オブジェクト
context.scene
Scene (opens new window)
Scene オブジェクト

# onRemove(map, context)

Map#removeLayer でレイヤーが Map から削除されたときに呼び出される、任意実装のメソッドです。これを利用して、レイヤーは three.js のリソースを解放し、イベントリスナーを削除することができます。

# パラメータ

map (Map) このレイヤーが削除された Mini Tokyo 3D の Map

context (Object (opens new window)) このレイヤーに含まれる three.js のレンダラー、シーン、カメラオブジェクトです。

名前 説明
context.camera
PerspectiveCamera (opens new window)
Camera オブジェクト
context.renderer
WebGLRenderer (opens new window)
Renderer オブジェクト
context.scene
Scene (opens new window)
Scene オブジェクト
最終更新日時: 2023/4/11 20:24:56