Skip to content

API Reference.ja

Kohei Otsuka edited this page Jul 23, 2026 · 1 revision

API-Reference(日本語)

MaplatUi API の概念と利用パターン。本ページは リリース非依存 の解説材料 (ADR-0012)に焦点を当てます。完全かつ最新の API シグネチャ一覧は リポジトリ内の docs/api/ を参照してください。

目次


MaplatUi ライフサイクル

MaplatUi は Maplat を Web アプリケーションに組み込むためのメインクラスです。 ライフサイクルは3つのフェーズからなります:

  1. 初期化MaplatUi.createObject(option) は Promise を返し、 地図データの読み込みと変換の準備が完了すると resolve します。 インスタンス作成の推奨方法です。
  2. 実行中 — インスタンスはインタラクティブです: 地図切替・オーバーレイ切替・ POI 表示等。updateUrl() で URL に状態を反映できます。
  3. 破棄remove() がアプリケーションを破棄し、リソース (イベントリスナ・DOM 要素・タイルキャッシュ)を解放します。

なぜ Promise か? Maplat は地図定義 JSON の読み込み、TIN 変換の計算 (またはコンパイル済データの読み込み)、OpenLayers 地図の初期化を完了してから 利用可能になります。Promise はこれら全てが完了した後に resolve します。

MaplatAppOption のカテゴリ

createObject またはコンストラクタに渡す option オブジェクトのプロパティは いくつかのカテゴリに分かれます:

カテゴリ 主なプロパティ 目的
アプリ識別 appid 読み込むアプリ JSON を特定
マップソース (アプリ JSON で定義・option ではない) 表示する地図・ベースレイヤ・オーバーレイ
UI 挙動 overlay, enableHideMarker, enableMarkerList, enableBorder, enableShare UI 機能の切替
URL 状態 stateUrl 地図状態(中心・ズーム・選択地図)の URL への反映
PWA pwaManifest, pwaWorker Progressive Web App 設定
外部トークン mapboxToken サードパーティタイルサービスのアクセストークン

option オブジェクトは 実時挙動 を制御します。地図・アプリデータ (どの地図・POI・スタイルか)はアプリ JSON ファイルで定義され、option では ありません。データ形式の詳細は Concepts を参照してください。

利用パターン

パターン1: CDN 最小利用

バンドラなしで素早く組み込む場合、CDN から OpenLayers と Maplat UI を読み込みます。 OpenLayers を 先に 読み込む必要があります。

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ol@10/ol.min.css">
<script src="https://cdn.jsdelivr.net/npm/ol@10/dist/ol.min.js"></script>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@maplat/ui@0.12.2/dist/maplat_ui.css">
<script src="https://cdn.jsdelivr.net/npm/@maplat/ui@0.12.2/dist/maplat_ui.umd.js"></script>

<div id="map_div"></div>
<script>
  MaplatUi.createObject({ appid: "myApp" }).then(function(app) {
    console.log("Maplat initialized");
  });
</script>

パターン2: npm ESM import

モダンバンドラベースのプロジェクトでは、ES モジュールとしてインポートします。

import { MaplatUi } from '@maplat/ui';
import '@maplat/ui/dist/maplat_ui.css';

MaplatUi.createObject({ appid: 'myApp' }).then(app => {
  // Application initialized
});

peer dependency: ol(OpenLayers)v9 または v10 を別途インストール必要。

パターン3: フレームワーク組み込み

フレームワーク(React・Vue 等)に組み込む場合、コンポーネントの マウント/アンマウントフックでライフサイクルを管理します:

// 疑似コード
onMount: MaplatUi.createObject(option).then(app => { this.app = app; })
onUnmount: this.app.remove();

同一 DOM 要素に複数の MaplatUi インスタンスを作成しないでください。 新しいインスタンスを作る前に古いインスタンスを破棄してください。

API シグネチャリファレンス

完全な API シグネチャ一覧(static メソッド・コンストラクタ・インスタンスメソッド・ MaplatAppOption プロパティ表)はリポジトリ内の docs/api/ で管理されています。 本 Wiki ページではシグネチャを 重複保持しません(正本との乖離を防ぐため)。

参照:


英語版はこちら / Read this page in English

関連ページ

  • Home
  • Concepts — データ形式と座標変換の理論
  • Tutorials — セットアップガイド
  • README — インストールとクイックスタート

Maplat

Language / 言語

Pages / ページ

English

日本語

External / 外部

Clone this wiki locally