点群プロバイダフック

独自の点群プロバイダを作成する際に利用します。

オブジェクトによる実装 単純な動作の場合は下記のように簡易的に実装することができます。

Example

viewer.point_cloud_collection.add(new PointCloudProvider({
init: () => {
// 必要に応じて初期化します。
},
requestTile: ( level, x, y, z ) => {
// タイルを取得します。
},
}));

クラスによる実装 下記のように実装することで、複雑なプロバイダを記述することができます。

Example

// クラスとして定義
class ProviderHook implements mapray.PointCloudProvider.Hook {
constructor( id, option ) {
// タイルへのアクセスに必要な情報などを受け取る
}
async init() {
// 認証やログインなどを行い、アクセスできるようにする
}
async requestTile( level, x, y, z ) {
// 実際にデータにアクセスする
}
}

// インスタンス化して利用します。
viewer.point_cloud_collection.add( new ProviderHook( "id", { token: "xxxxxx" } ) );

Implements

Constructors

Properties

_info_resource: Resource
_resource: Resource
_suffix: string

Methods

  • タイルをリクエストします。

    座標が (level, x, y, z) のタイルデータを要求します。 Hook.init の呼び出しに成功した場合に、レンダラが必要なタイミングで何度も呼び出します。

    Parameters

    • level: number

      レベル

    • x: number

      X タイル座標

    • y: number

      Y タイル座標

    • z: number

      Z タイル座標

    • Optional options: {
          signal?: AbortSignal;
      }
      • Optional signal?: AbortSignal

    Returns Promise<Data>

    リクエスト結果