本文へ飛ぶ
MMJ

OSS · MIT · OpenStreetMap (ODbL)

自分の地図を、
自分で持つ。

API キーなし・従量課金なし・地図サーバーなし。 手書きのスタイルと 1 つの PMTiles ファイルだけで、静的配信のまま地図が出ます。

使い方を見る 動く画面を見る

この地図の全ソース
<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 は、データは借りて、表現だけを持ちます。

使い方

要るものは 3 つだけです。そのうち 2 つは MMJ が配っています。

  1. 部品を入れる

    pnpm add @mmj-map/elements

    素の ES モジュールで、ビルド工程はありません。コピーでも動きます。

  2. スタイルを選ぶ

    6 枚から 1 枚をページの隣へ置きます。 サイトのテーマカラーを 1 色渡すだけでも変わります。

  3. タイルを用意する

    pnpm tiles:extract -- demo

    ここだけは自分で置きます。配信されたタイルはありません。 上流 138 GB のうち必要な範囲だけを HTTP Range で取るので、 1 地域あたり数十秒・数十 MB です。

手順の詳細は 導入手順 に、 English / 日本語 / 繁體中文 / 简体中文 / Tiếng Việt で置いてあります。

できること

どれも実際に動いている画面です。押すと開きます。

作らないもの