# ThreeLayerInterface
カスタム three.js レイヤーのインターフェースです。これは実装者がモデル化するための仕様であり、エクスポートされたメソッドやクラスではありません。
カスタム three.js レイヤーには、three.js のシーンが含まれています。開発者は、マップのカメラを使って、three.js オブジェクトをマップの GL コンテキストに直接レンダリングすることができます。このレイヤーは Map#addLayer を使ってマップに追加できます。
カスタムの three.js レイヤーは、一意の id
を持ち、type
が 'three'
である必要があります。また、onAdd
とonRemove
を実装することができます。
# プロパティ
# 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 オブジェクト |
← THREE