OSS · MIT · OpenStreetMap (ODbL)
自分の地図を、
自分で持つ。
API キーなし・従量課金なし・地図サーバーなし。 手書きのスタイルと 1 つの PMTiles ファイルだけで、静的配信のまま地図が出ます。
まだタイルの配信元がありません。apps/demo/config.js に設定します。
<mmj-map tiles="./tiles/demo.pmtiles"
style-url="./styles/modern-dark.json"
center="135.5023,34.6937" zoom="12"></mmj-map>
JavaScript は 1 行も書いていません。地図の操作は指 2 本 / Ctrl+ホイールです (この頁は読み物なので、指 1 本ではページが送れるようにしてあります)。
- API キー
- 0
- 地図サーバー
- 0 台
- 配るファイル
- 1 つ
- 大阪の切り出し
- 62.8 MB
- 手書きスタイル
- 6 枚
なぜ
ウェブに出せる地図は、たいてい他人の地図を、他人の見た目で、他人のメーターで 使うことになります。商用 API は鍵と従量課金が要り、OSM の公式タイルサーバーは 利用方針で商用と大量アクセスを認めていません。 自前でタイルサーバーを立てれば動きますが、今度はタイルサーバーの運用が仕事に加わります。
MMJ は、データは借りて、表現だけを持ちます。
- ベースタイルは Protomaps の日次プラネットビルドから、 必要な範囲だけを切り出して 1 つの PMTiles ファイルにします。 タイル生成パイプラインは自作しません
- スタイルは手書きです。生成物ではなく作品として扱います
- サーバーを立てません。静的配信と HTTP Range だけでデプロイが完結します
使い方
要るものは 3 つだけです。そのうち 2 つは MMJ が配っています。
-
部品を入れる
pnpm add @mmj-map/elements素の ES モジュールで、ビルド工程はありません。コピーでも動きます。
-
スタイルを選ぶ
6 枚から 1 枚をページの隣へ置きます。 サイトのテーマカラーを 1 色渡すだけでも変わります。
-
タイルを用意する
pnpm tiles:extract -- demoここだけは自分で置きます。配信されたタイルはありません。 上流 138 GB のうち必要な範囲だけを HTTP Range で取るので、 1 地域あたり数十秒・数十 MB です。
手順の詳細は 導入手順 に、 English / 日本語 / 繁體中文 / 简体中文 / Tiếng Việt で置いてあります。
できること
どれも実際に動いている画面です。押すと開きます。
作らないもの
- タイルサーバー。その fork も作りません
- レンダリングエンジン。それは MapLibre の仕事です
- ジオコーダ・経路探索・地点データベース。 経路は描きますが、計算はしません
- 地図の費用を下げる道具ではありません。 座標の取得元が「その提供者の地図の上に表示すること」を条件にしている場合、 ベース地図だけを差し替える自由はありません