コンテンツにスキップ

Viewer

表示管理

mapray の表示を管理するクラスである。

Constructors

new Viewer()

new Viewer(container, options): Viewer

container コンテナ (ID または要素) options 生成オプション

Parameters

Parameter Type
container string | HTMLElement
options Option

Returns

Viewer

Properties

trans_parent_image_provider

trans_parent_image_provider: ImageProvider


trans_parent_texture_cache

trans_parent_texture_cache: TileTextureCache

Accessors

animation

get animation(): BindingBlock

アニメーションパラメータ設定

Returns

BindingBlock


atmosphere

get atmosphere(): undefined | Atmosphere

Returns

undefined | Atmosphere


attribution_controller

get attribution_controller(): AttributionController

Returns

AttributionController


b3d_collection

get b3d_collection(): B3dCollection

B3dScene 管理

Returns

B3dCollection


camera

get camera(): Camera

カメラ

Returns

Camera


canvas_element

get canvas_element(): HTMLCanvasElement

キャンバス要素

Returns

HTMLCanvasElement


cloudVisualizer

get cloudVisualizer(): undefined | CloudVisualizer

Returns

undefined | CloudVisualizer


container_element

get container_element(): HTMLElement

コンテナ要素 (キャンバス要素を保有する)

Returns

HTMLElement


debug_stats

get debug_stats(): undefined | DebugStats

デバッグ統計オブジェクト

Returns

undefined | DebugStats


dem_layers

get dem_layers(): DemLayerCollection

DEM レイヤーコレクションを取得

Returns

DemLayerCollection


dem_provider

get dem_provider(): DemProvider

DEM データプロバイダ

Returns

DemProvider


image_provider

get image_provider(): ImageProvider

画像プロバイダ

Returns

ImageProvider


init_promise

get init_promise(): Promise<void>

初期化処理の Promise です。

初期化処理の完了を待機する際に利用することができます。

Example

try {
    const viewer = new Viewer( ... );
    await viewer.init_promise;
    // viewer の機能にアクセスします。
}
catch( err ) {
    console.error( err );
}

Returns

Promise<void>


layers

get layers(): LayerCollection

地図レイヤー管理

Returns

LayerCollection


load_status

get load_status(): LoadStatus

Returns

LoadStatus


logo_controller

get logo_controller(): LogoController

Returns

LogoController


moon

get moon(): Moon

Returns

Moon


moonVisualizer

get moonVisualizer(): undefined | MoonVisualizer

Returns

undefined | MoonVisualizer


point_cloud_collection

get point_cloud_collection(): PointCloudCollection

点群管理

Returns

PointCloudCollection


render_callback

get render_callback(): RenderCallback

レンダリングコールバック

Returns

RenderCallback


render_mode

get render_mode(): RenderMode

レンダリングモード

set render_mode(val): void

レンダリングモードを設定

Parameters

Parameter Type
val RenderMode

Returns

RenderMode


scene

get scene(): Scene

モデルシーン

Returns

Scene


showVolume

get showVolume(): boolean

set showVolume(show): void

Parameters

Parameter Type
show boolean

Returns

boolean


starVisualizer

get starVisualizer(): undefined | StarVisualizer

Returns

undefined | StarVisualizer


sun

get sun(): Sun

Returns

Sun


sunVisualizer

get sunVisualizer(): undefined | SunVisualizer

Returns

undefined | SunVisualizer


vectile_manager

get vectile_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

インスタンスを破棄

次の順番で処理を行い、インスタンスを破棄する。

  1. アニメーションフレームを止める。(render_callbackonUpdateFrame() が呼び出されなくなる)
  2. render_callbackonStop() を呼び出す。(onStart() がすでに呼び出されている場合)
  3. RenderCallback インスタンスを this から切り離す。(RenderCallback.viewer プロパティは null を返すようになる)
  4. canvas_elementcontainer_element から取り外す。(キャンバスは表示されなくなる)
  5. データプロバイダのリクエスト、シーンデータのロードの取り消しを試みる。

このメソッドを呼び出した後は 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

getElevation


~~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()

protected init(): 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

地表の不透明度を設定

opacitynumber を指定したとき地表全体の不透明度を変化させる

opacityGroundOpacityByDistance に指定したとき、 - 視点と地表の距離 < 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 インスタンスを設定していた場合は、そ のベクトルタイルはレンダリングされなくなる。

managernull を指定したとき、ベクトルタイルはレンダリン グされなくなる。

設定された値は 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