Viewer¶
表示管理
mapray の表示を管理するクラスである。
Constructors¶
new Viewer()¶
new Viewer(
container,options):Viewer
container コンテナ (ID または要素) options 生成オプション
Parameters¶
| Parameter | Type |
|---|---|
container |
string | HTMLElement |
options |
Option |
Returns¶
Properties¶
trans_parent_image_provider¶
trans_parent_image_provider:
ImageProvider
trans_parent_texture_cache¶
trans_parent_texture_cache:
TileTextureCache
Accessors¶
animation¶
getanimation():BindingBlock
アニメーションパラメータ設定
Returns¶
atmosphere¶
getatmosphere():undefined|Atmosphere
Returns¶
undefined | Atmosphere
attribution_controller¶
getattribution_controller():AttributionController
Returns¶
b3d_collection¶
getb3d_collection():B3dCollection
B3dScene 管理
Returns¶
camera¶
getcamera():Camera
カメラ
Returns¶
canvas_element¶
getcanvas_element():HTMLCanvasElement
キャンバス要素
Returns¶
HTMLCanvasElement
cloudVisualizer¶
getcloudVisualizer():undefined|CloudVisualizer
Returns¶
undefined | CloudVisualizer
container_element¶
getcontainer_element():HTMLElement
コンテナ要素 (キャンバス要素を保有する)
Returns¶
HTMLElement
debug_stats¶
getdebug_stats():undefined|DebugStats
デバッグ統計オブジェクト
Returns¶
undefined | DebugStats
dem_layers¶
getdem_layers():DemLayerCollection
DEM レイヤーコレクションを取得
Returns¶
dem_provider¶
getdem_provider():DemProvider
DEM データプロバイダ
Returns¶
image_provider¶
getimage_provider():ImageProvider
画像プロバイダ
Returns¶
init_promise¶
getinit_promise():Promise<void>
初期化処理の Promise です。
初期化処理の完了を待機する際に利用することができます。
Example¶
try {
const viewer = new Viewer( ... );
await viewer.init_promise;
// viewer の機能にアクセスします。
}
catch( err ) {
console.error( err );
}
Returns¶
Promise<void>
layers¶
getlayers():LayerCollection
地図レイヤー管理
Returns¶
load_status¶
getload_status():LoadStatus
Returns¶
logo_controller¶
getlogo_controller():LogoController
Returns¶
moon¶
getmoon():Moon
Returns¶
moonVisualizer¶
getmoonVisualizer():undefined|MoonVisualizer
Returns¶
undefined | MoonVisualizer
point_cloud_collection¶
getpoint_cloud_collection():PointCloudCollection
点群管理
Returns¶
render_callback¶
getrender_callback():RenderCallback
レンダリングコールバック
Returns¶
render_mode¶
getrender_mode():RenderMode
レンダリングモード
setrender_mode(val):void
レンダリングモードを設定
Parameters¶
| Parameter | Type |
|---|---|
val |
RenderMode |
Returns¶
scene¶
getscene():Scene
モデルシーン
Returns¶
showVolume¶
getshowVolume():boolean
setshowVolume(show):void
Parameters¶
| Parameter | Type |
|---|---|
show |
boolean |
Returns¶
boolean
starVisualizer¶
getstarVisualizer():undefined|StarVisualizer
Returns¶
undefined | StarVisualizer
sun¶
getsun():Sun
Returns¶
sunVisualizer¶
getsunVisualizer():undefined|SunVisualizer
Returns¶
undefined | SunVisualizer
vectile_manager¶
getvectile_manager():null|StyleManager
ベクトルタイルを管理するオブジェクト
Default Value¶
null
See¶
setVectileManager, Category.VECTILE
Returns¶
null | StyleManager
Methods¶
_extra_render()¶
_extra_render():
void
追加レンダリング用 追加レンダリング
Returns¶
void
addExtraRenderer()¶
addExtraRenderer(
renderer):number
追加レンダリング用 追加レンダラーの追加
Parameters¶
| Parameter | Type |
|---|---|
renderer |
ExtraRenderer<ExtraRendererEventMap> |
Returns¶
number
capture()¶
capture(
options):Promise<Blob>
Canvas画面のキャプチャ
Parameters¶
| Parameter | Type | Description |
|---|---|---|
options |
Option |
オプション |
Returns¶
Promise<Blob>
キャプチャ画像Blob
destroy()¶
destroy():
void
インスタンスを破棄
次の順番で処理を行い、インスタンスを破棄する。
- アニメーションフレームを止める。(render_callback の onUpdateFrame() が呼び出されなくなる)
- render_callback の onStop() を呼び出す。(onStart() がすでに呼び出されている場合)
- RenderCallback インスタンスを this から切り離す。(RenderCallback.viewer プロパティは null を返すようになる)
- canvas_element を container_element から取り外す。(キャンバスは表示されなくなる)
- データプロバイダのリクエスト、シーンデータのロードの取り消しを試みる。
このメソッドを呼び出した後は this に直接的または間接的にアクセスすることはできない。ただし destroy() の呼び出しは除く。 このメソッドは RenderCallback のメソッドから呼び出してはならない。
Returns¶
void
extraRendererExists()¶
extraRendererExists(
renderer):boolean
追加レンダリング用 追加レンダラーの存在確認
Parameters¶
| Parameter | Type |
|---|---|
renderer |
ExtraRenderer<ExtraRendererEventMap> |
Returns¶
boolean
getDotsPerPixel()¶
getDotsPerPixel():
number
画面1ピクセルあたりの平均頂点数を取得
Returns¶
number
getElapsedTimeSec()¶
getElapsedTimeSec():
number
水シェーダー用 現在経過時刻 [sec]
Returns¶
number
getElevation()¶
getElevation(lat, lon, request)¶
getElevation(
lat,lon,request?):number
指定位置の標高を取得
緯度 lat, 経度 lon が示す場所の標高を返す。 現在メモリに存在する DEM データの中で最も正確度が高いデータから標高を計算する。 引数を適切に指定すると、さらに正確度が高い DEM データがサーバーに存在すれば、それを非同期に読み込む。そのため時間を置いてこのメソッドを呼び出すと、さらに正確な値が取得できることがある。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
lat |
number |
緯度 (Degrees) |
lon |
number |
経度 (Degrees) |
request? |
boolean |
より確度が高いタイルを非同期に読み込むかを指定する (省略したら読み込まない) |
Returns¶
number
標高 (Meters)
Deprecated¶
getElevation(position, request)¶
getElevation(
position,request?):number
指定位置の標高を取得
現在メモリに存在する DEM データの中で最も正確度が高いデータから標高を計算する。 さらに正確度が高い DEM データがサーバーに存在すれば、それを非同期に読み込む。そのため時間を置いてこのメソッドを呼び出すと、さらに正確な値が取得できることがある。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
position |
GeoPoint |
位置 |
request? |
boolean |
より確度が高いタイルを非同期に読み込むかを指定する (省略したら読み込まない) |
Returns¶
number
標高 (Meters)
getElevations()¶
getElevations<
T>(num_points,src_array,src_offset,src_stride,dst_array,dst_offset,dst_stride):T
指定位置の標高 (複数) を取得
現在メモリーにある最高精度の標高値を一括で取得する。 まだ DEM データが存在しない、または経度, 緯度が範囲外の場所は標高を 0 とする。
このメソッドは DEM のリクエストは発生しない。また DEM のキャッシュには影響を与えない。
一般的に画面に表示されていない場所は標高の精度が低い。
Type parameters¶
| Type parameter |
|---|
T extends number[] | Float64Array<ArrayBufferLike> |
Parameters¶
| Parameter | Type | Description |
|---|---|---|
num_points |
number |
入出力データ数 |
src_array |
number[] | Float64Array<ArrayBufferLike> |
入力配列 (経度, 緯度, ...) |
src_offset |
number |
入力データの先頭インデックス |
src_stride |
number |
入力データのストライド |
dst_array |
T |
出力配列 (標高, ...) |
dst_offset |
number |
出力データの先頭インデックス |
dst_stride |
number |
出力データのストライド |
Returns¶
T
dst_array
See¶
~~getExistingElevation()~~¶
getExistingElevation(
position):number
指定位置の標高を取得
Parameters¶
| Parameter | Type |
|---|---|
position |
GeoPoint |
Returns¶
number
Deprecated¶
getElevation を利用してください。
~~getExistingElevations()~~¶
getExistingElevations<
T>(num_points,src_array,src_offset,src_stride,dst_array,dst_offset,dst_stride):T
指定位置の標高 (複数) を取得
Type parameters¶
| Type parameter |
|---|
T extends number[] | Float64Array<ArrayBufferLike> |
Parameters¶
| Parameter | Type |
|---|---|
num_points |
number |
src_array |
number[] | Float64Array<ArrayBufferLike> |
src_offset |
number |
src_stride |
number |
dst_array |
T |
dst_offset |
number |
dst_stride |
number |
Returns¶
T
Deprecated¶
getElevations を利用してください。
getExtraRenderer()¶
getExtraRenderer(
idx):null|ExtraRenderer<ExtraRendererEventMap>
追加レンダリング用 追加レンダラーの取得
Parameters¶
| Parameter | Type |
|---|---|
idx |
number |
Returns¶
null | ExtraRenderer<ExtraRendererEventMap>
getExtraRendererCount()¶
getExtraRendererCount():
number
追加レンダリング用 追加レンダラー数の取得
Returns¶
number
getGroundBackSideVisibility()¶
Experimental
getGroundBackSideVisibility():
boolean
地面裏の可視性を取得
Returns¶
boolean
表示するとき true, 表示しないとき false
getGroundEdgeVisibility()¶
Experimental
getGroundEdgeVisibility():
boolean
FlakeMeshのEdgeの可視性を取得
Returns¶
boolean
表示するとき true, 表示しないとき false
getNoise3DGLTexture()¶
getNoise3DGLTexture(
glenv):null|WebGLTexture
水シェーダー用 3D ノイズテクスチャを返す
Parameters¶
| Parameter | Type |
|---|---|
glenv |
GLEnv |
Returns¶
null | WebGLTexture
getNoiseImageSize()¶
getNoiseImageSize():
number
水シェーダー用 3D ノイズテクスチャサイズを返す [px]
Returns¶
number
getOmegaLimit()¶
getOmegaLimit():
number
ω limitの取得
Returns¶
number
getVisibility()¶
getVisibility(
target):boolean
可視性を取得
target に属するオブジェクトを表示するかどうかを取得する。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
target |
Category |
表示対象 |
Returns¶
boolean
表示するとき true, 表示しないとき false
getWaterMaterial()¶
getWaterMaterial(
glenv):WaterMaterial
水シェーダー用 水マテリアルの取得
Parameters¶
| Parameter | Type |
|---|---|
glenv |
GLEnv |
Returns¶
WaterMaterial
init()¶
protectedinit():Promise<void>
初期化
Returns¶
Promise<void>
isTimePausing()¶
isTimePausing():
boolean
水シェーダー用 一時停止か否か
Returns¶
boolean
pick()¶
pick(
screen_position,pickOption):undefined|PickResult
現在のビューにおいて指定されたスクリーン位置の情報を取得します
Parameters¶
| Parameter | Type | Description |
|---|---|---|
screen_position |
Vector2 |
スクリーン位置(キャンバス左上を原点としたピクセル座標) |
pickOption |
PickOption |
ピックオプション |
Returns¶
undefined | PickResult
ピック結果
pickWithRay()¶
pickWithRay(
ray,opts):undefined|PickResult
レイとの交点情報を取得
ray と最も近いオブジェクトとの交点の情報を取得する。ただし交差が存在しない場合は undefined を返す。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
ray |
Ray |
レイ (GOCS) |
opts |
PickOption |
- |
Returns¶
undefined | PickResult
交点情報または undefined
removeExtraRenderer()¶
removeExtraRenderer(
renderer):boolean
追加レンダリング用 追加レンダラーの除去
Parameters¶
| Parameter | Type |
|---|---|
renderer |
ExtraRenderer<ExtraRendererEventMap> |
Returns¶
boolean
removeExtraRendererByIndex()¶
removeExtraRendererByIndex(
idx):boolean
追加レンダリング用 追加レンダラーの除去 (インデックス版)
Parameters¶
| Parameter | Type |
|---|---|
idx |
number |
Returns¶
boolean
setAnchorAlpha()¶
Experimental
setAnchorAlpha(
anchor_alpha):void
アンカーモードを設定。
Parameters¶
| Parameter | Type |
|---|---|
anchor_alpha |
number |
Returns¶
void
setDotsPerPixel()¶
setDotsPerPixel(
val):void
画面1ピクセルあたりの平均頂点数を設定
0.1 〜 4.0 の範囲
Parameters¶
| Parameter | Type |
|---|---|
val |
number |
Returns¶
void
setGroundBackSideVisibility()¶
Experimental
setGroundBackSideVisibility(
visibility):void
地面裏の可視性を設定
可視性は Viewer.constructor の オプションでも指定することができる。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
visibility |
boolean |
表示するとき true, 表示しないとき false |
Returns¶
void
setGroundEdgeVisibility()¶
Experimental
setGroundEdgeVisibility(
visibility):void
FlakeMeshのEdgeの可視性を設定
可視性は Viewer.constructor のオプションでも指定することができる。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
visibility |
boolean |
表示するとき true, 表示しないとき false |
Returns¶
void
setGroundOpacity()¶
setGroundOpacity(
opacity):void
地表の不透明度を設定
opacity に number を指定したとき地表全体の不透明度を変化させる
opacity に GroundOpacityByDistance に指定したとき、
- 視点と地表の距離 < near_distance のとき near_opacity
- far_distance < 視点と地表の距離 のとき far_opacity
となるように地表の不透明度を変化させる
opacityが 1 より小さい時、またはGroundOpacityByDistanceの時に
地表のレンダリング順が変更されて、半透明として描画される
一部制約が発生する
- 描画処理の負荷が高い
- Atmosphere 使用時は非対応 (星が表示されない、大気表示が乱れる可能性がある)
- 視点を離したときにb3dや点群にCLAMPしたプリミティブの描画の影響が出ることがある
- 半透明のPolygonEntityの描画がB3D・点群の描画に影響することがある
Parameters¶
| Parameter | Type | Description |
|---|---|---|
opacity |
number | GroundOpacityByDistance |
地表の不透明度 |
Returns¶
void
See¶
[[Viewer.GroundOpacityByDistance]], [[Viewer.constructor]]
setImageProvider()¶
setImageProvider(
provider,clear_cache):Promise<void>
画像プロバイダを設定
clear_cache を指定することで、切り替え時に画像キャッシュをクリアするかを指定することができます。
切り替え時に画像キャッシュをクリアすると瞬間的に画面全体が無地になります。
キャッシュをクリアしない場合は、画像を入手するまでは切り替え前の画像が表示されます。
Parameters¶
| Parameter | Type | Default value | Description |
|---|---|---|---|
provider |
ImageProvider |
undefined |
画像プロバイダ |
clear_cache |
boolean |
true |
切り替え時にキャッシュをクリアするか |
Returns¶
Promise<void>
setOmegaLimit()¶
setOmegaLimit(
val):void
ω limitの設定
Parameters¶
| Parameter | Type | Description |
|---|---|---|
val |
number |
0 から 6 の値が設定できる |
Returns¶
void
setPole()¶
setPole(
pole_option?):void
北極・南極情報を設定
Parameters¶
| Parameter | Type | Description |
|---|---|---|
pole_option? |
PoleOption |
極地オプション |
Returns¶
void
setTimePausing()¶
setTimePausing(
b):void
水シェーダー用 一時停止するか否か?設定
Parameters¶
| Parameter | Type |
|---|---|
b |
boolean |
Returns¶
void
setVectileManager()¶
setVectileManager(
manager):void
ベクトルタイルの管理オブジェクトを設定
StyleManager インスタンス manager を設定し、そのベクトルタ
イルをレンダリングできるようにする。
以前に別の StyleManager インスタンスを設定していた場合は、そ
のベクトルタイルはレンダリングされなくなる。
manager に null を指定したとき、ベクトルタイルはレンダリン
グされなくなる。
設定された値は vectile_manager により参照することができる。
Parameters¶
| Parameter | Type |
|---|---|
manager |
null | StyleManager |
Returns¶
void
See¶
vectile_manager, Category.VECTILE, StyleManager.viewer
setVisibility()¶
setVisibility(
target,visibility):void
可視性を設定
target に属するオブジェクトを表示するかどうかを指定する。
可視性は Viewer.constructor のオプションでも指定することができる。
Parameters¶
| Parameter | Type | Description |
|---|---|---|
target |
Category |
表示対象 |
visibility |
boolean |
表示するとき true, 表示しないとき false |
Returns¶
void