Class StandardUIViewer

標準 Mapray Viewer

コアライブラリのラッパです。 マウス操作やキーボード操作など一般的な操作がサポートされます。

import mapray from "@mapray/mapray-js";
import maprayui from "@mapray/ui";

const node = document.getElementById("id"); // HTMLElement要素を取得します
const ACCESS_TOKEN = "..."; // 事前に取得した値を指定します。

const stdViewer = new maprayui.StandardUIViewer( node, ACCESS_TOKEN );

const mtFujiPosition = new mapray.GeoPoint(138.72884, 35.36423, 0);

// カメラ視点の変更
stdViewer.setCameraPosition({
longitude: mtFujiPosition.longitude,
latitude: mtFujiPosition.latitude - 0.05,
height: mtFujiPosition.altitude + 6000
});

// カメラ視線先の変更
stdViewer.setLookAtPosition({
longitude: mtFujiPosition.longitude,
latitude: mtFujiPosition.latitude,
height: mtFujiPosition.altitude + 3000
});

const pin = new mapray.PinEntity(stdViewer.viewer.scene)
pin.altitude_mode = mapray.AltitudeMode.RELATIVE;
pin.addMakiIconPin( "mountain-15", mtFujiPosition );
stdViewer.addEntity(pin);

Hierarchy (view full)

Constructors

Properties

Accessors

Methods

Constructors

Properties

_altitude_range: {
    max: number;
    min: number;
}

Type declaration

  • max: number
  • min: number
_animation: EasyBindingBlock
_buf_matrix1: Matrix
_buf_matrix2: Matrix
_controllable: boolean
_curve_move?: KFLinearCurve
_curve_rotation?: KFLinearCurve
_default_fov: number = StandardUIViewer.DEFAULT_CAMERA_PARAMETER.fov

リセット用の画角

_flycamera_on_success?: (() => void)

Type declaration

    • (): void
    • Returns void

_flycamera_target_time: number
_flycamera_total_time: number
_fovy_key: number

画角変更の指定回数

_free_rotate_drag: Vector2

自由回転の移動量(マウスの移動量)

_height_drag: Vector2

高度変更の移動量(マウスの移動量)

_key_mode: boolean

キー操作中

_last_camera_parameter: CameraParameter & RollPitchYawData & GeoPointData
_min_zoom_limit: number
_mouse_down_position: [x: number, y: number]

マウスダウンした位置

_operation_mode: OperationMode
_pre_mouse_position: [x: number, y: number]

直前のマウス位置

_rotate_center?: Vector3

回転中心

_rotate_drag: Vector2

回転の移動量(マウスの移動量)

_translate_drag: Vector2

平行移動の移動量(マウスの移動量)

_translate_eye_drag: Vector2

平行移動の移動量(マウスの移動量)

_update_url_hash: boolean

URLHash更新フラグ

_update_url_hash_backup: boolean
_update_url_hash_full_digits: boolean

URLに含む値の桁数(true:全桁, false:桁数制限)

_updater: Updater
_viewer?: Viewer
_viewer_camera_mode: CameraMode
_zoom_wheel: number

視線方向への移動量(ホイールの移動量)

Accessors

Methods

  • 高度の補正(地表面以下にならないようにする)

    Parameters

    • groundElevation: number

    Returns void

  • ある地点から指定距離、指定方向に移動した位置を算出する

    Parameters

    • longitude: number

      経度

    • latitude: number

      緯度

    • distance: number

      距離(m)

    • bearing: number

      方角(deg)

    • dst: GeoPoint

      計算結果が格納されるオブジェクト

    Returns GeoPoint

  • 閾値のある同一判定

    Parameters

    • value1: number

      値1

    • value2: number
    • threshold: number = 0.000001

      閾値

    Returns boolean

    判定結果

  • 要素上での座標を取得

    Parameters

    • el: HTMLElement

      HTMLElement

    • event: MouseEvent

      イベントオブジェクト

    Returns [x: number, y: number]

    要素(el)の上での座標

  • 任意軸回りの回転角度の算出

    Parameters

    • axis: Vector3

      回転軸(長さ1とする)

    • basis_vector: Vector3

      基準ベクトル

    • target_vector: Vector3

      目標ベクトル

    Returns number

    回転角度(deg.)

  • 現在のカメラ情報から URL Hash string を取得

    Returns undefined | string

    Hash Stringが生成できないときは undefined

  • ビューワの作成

    Parameters

    • container: string | HTMLElement

      ビューワ作成先のコンテナ(IDまたは要素)

    • access_token: string

      アクセストークン

    • options: maprayui.StandardUIViewer.Option = {}

      生成オプション

    Returns Promise<void>

  • URL Hash 書き換え機能を有効にします。 カメラ移動時に自動的に URL Hash を書き換えます。

    Parameters

    • readUrlOnStart: boolean

      true の場合、関数呼び出し時に URL Hash で示される位置に移動します。

    Returns void

  • マウスを押した時のイベント

    Parameters

    • point: [x: number, y: number]

      要素上の座標

    • event: MouseEvent

      マウスイベントデータ

    Returns void

  • マウスを動かした時のイベント

    Parameters

    • point: [x: number, y: number]

      要素上の座標

    • event: MouseEvent

      マウスイベントデータ

    Returns void

  • マウスを上げた時のイベント

    Parameters

    • point: [x: number, y: number]

      要素上の座標

    • event: MouseEvent

      マウスイベントデータ

    Returns void

  • マウスホイールを動かした時のイベント

    Parameters

    • point: [x: number, y: number]

      要素上の座標

    • event: WheelEvent

      ホイールイベント

    Returns void

  • フレームレンダリング前の処理

    • 値の計算
      • [[updateTranslation]]:longitude, latitude, heightの計算
      • [[updateRotation]]:roll, pitch, yawの計算
    • 値の適用
      • [[updateClipPlane]]:near, farの更新
      • [[updateCamera]]:カメラ姿勢を

    ただし、フライカメラが動作している間は上記処理は停止されます。

    Parameters

    • delta_time: number

      全フレームからの経過時間(秒)

    Returns void

  • Experimental

    カメラズームイン操作で近づくことのできる最小距離[m]を設定します。 設定後のズームイン操作で有効になります。

    Parameters

    • min_zoom_limit: number

      最小距離

    Returns void

  • 2点間のカメラアニメーション

    指定した位置間でカメラアニメーションを行う。

    Parameters

    • options: FlyParam

      引数オブジェクト

    Returns Promise<void>

    Promise

  • Fly中のupdate処理

    Fly実行中(this._viewer_camera_mode が StandardUIViewer.CameraMode.CAMERA_FLY の時)は onUpdateFrame から呼び出されます

    Parameters

    • delta_time: number

    Returns void