Core Viewer¶
Core Viewer (mapray.Viewer) は canvas 要素に対し描画を行うクラスです。
コンストラクタ引数で指定された div 要素配下に canvas 要素を生成し描画を行います。
Tips
mapray.Viewer は、3D地図の描画に必要な最低限の機能のみで構成されており、マウス操作やカメラコントロールなど多くの機能を実装する必要があります。
一般的なマウス操作やキーボード操作、カメラ制御で良い場合は、それらが実装された StandardUIViewer を利用することで容易に開発を行うことができます。
マウス操作やカメラ制御など基本的な動作をカスタマイズしたい場合などに mapray.Viewer を直接利用します。
サンプル¶
Mapray JS のパッケージファイルを HTML ファイルに直接読み込む方式(CDN 方式)と npm パッケージでモジュールとして読み込む方式(以下モジュール方式)について説明します。
緯度 \(0^\circ\)、経度 \(0^\circ\)、高度 \(20,000 \mathrm{km}\) の位置から地球の中心方向を見るサンプルコードです。
Info
Mapray JSには提供方法で複数のバージョンがあります。 Latest VersionではAccess Tokenを簡単に利用できるAPIを準備しているため、そちらのAPIの利用をおすすめしていますので、 Local Latest Versionにサンプルを掲載します。
| バージョン | 提供方法 | アクセス方法 | 備考 |
|---|---|---|---|
| 0.9.6 | CDN / npm packages | API Key | 実装がシンプルなため、本ドキュメントでは主にこの形で説明 |
| 0.10.x以上 | ローカル配布(利用は要問い合わせ) / Github packages | Access Token | APIにより簡単かつセキュアに利用可能。ローカル配布版で説明を行うが、package版でも利用可能 |
CSS は Mapray のロゴやその他のリソースを表示するために必要になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
Info
このサンプルコードは、<YOUR_MAPRAY_API_KEY>を、あなたのMapray CloudアカウントのAPI Keyに置き換えるまで、期待通りに動作しません。
CSS は Mapray のロゴやその他のリソースを表示するために必要になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
Info
このサンプルコードは、<YOUR_MAPRAY_API_KEY>を、あなたのMapray CloudアカウントのAPI Keyに置き換えるまで、期待通りに動作しません。
プロジェクト作成
本説明では、最終的に下記のようなディレクトリ構成となります。
.
├─ dist/ ビルド後の js が出力されるディレクトリ
├─ package.json Node の設定ファイル
├─ src/ ソースファイルのディレクトリ
├─ webpack.config.js ビルド設定ファイル
├─ node_modules/ Node の依存ライブラリが保存されるディレクトリ
└─ package-lock.json npm のファイル
空のディレクトリを作成し、ディレクトリ内で下記を実行します。
npm init -y
npm install webpack webpack-cli st --save-dev
npm install @mapray/mapray-js
webpack.config.js を作成します( webpack の設定ファイル)。
1 2 3 4 5 6 7 8 9 | |
実装
src/index.js を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Info
このサンプルコードは、<YOUR_MAPRAY_API_KEY>を、あなたのMapray CloudアカウントのAPI Keyに置き換えるまで、期待通りに動作しません。
package.json の scripts 要素内に下記のようにコマンドを追加します。
{
:
"scripts": {
"build": "webpack --mode=production",
"server": "st --no-cache -H 0.0.0.0 --port 7777 --index index.html -d dist"
}
:
}
ビルドします。
npm run build
dist/index.html を作成します。
ビルドした js ファイルを読み込み startApp() を呼び出します。
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Nodeで開発用サーバを実行する
サーバを起動します。
npm run server
http://localhost:7777 へアクセスします。
プロジェクト作成
本説明では、最終的に下記のようなディレクトリ構成となります。
.
├─ dist/ ビルド後の js が出力されるディレクトリ
├─ package.json Node の設定ファイル
├─ src/ ソースファイルのディレクトリ
├─ rollup.config.mjs ビルド設定ファイル
├─ node_modules/ Node の依存ライブラリが保存されるディレクトリ
└─ package-lock.json npm のファイル
空のディレクトリを作成し、ディレクトリ内で下記を実行します。
npm init -y
npm install rollup @rollup/plugin-node-resolve st --save-dev
npm install @mapray/mapray-js
rollup.config.mjs を作成します( rollup の設定ファイル)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
package.json の scripts 要素内に下記のようにコマンドを追加します。
{
:
"scripts": {
"build": "rollup -c",
"server": "st --no-cache -H 0.0.0.0 --port 7777 --index index.html --dir ./dist"
},
:
}
実装
src/index.js を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Info
このサンプルコードは、<YOUR_MAPRAY_API_KEY>を、あなたのMapray CloudアカウントのAPI Keyに置き換えるまで、期待通りに動作しません。
ビルドします。
npm run build
dist/index.html を作成します。
ビルドした js ファイルを読み込み startApp() を呼び出します。
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Nodeで開発用サーバを起動する
サーバを起動します。
npm run server
http://localhost:7777 へアクセスします。