本文へ移動

Chizu地図

SVGの地図を描き、地域を表示範囲に収め、番号付きの注記や地理クイズを英語と日本語の名前で作れます。

「地図」は、土地や場所を図で表したものです。 名前について(英語)

目次

やり方

必要な地図だけを読み込む

国・行政区画・地物のデータを選び、対応するキャンバスで使います。

データを選ぶ

/countries/jpは、日本全体を1つの地域として描く輪郭です。/divisions/jpは都道府県です。コード、キャンバスの大きさ、投影、別枠は、用途に合わせて異なります。世界地図の輪郭は粗めですが、拡大表示には細かい世界地図を読み込めます。国名とグループは/namesだけで使えます。

import { loadCountry, loadDivisions, loadFeatures, COUNTRY_CODES, DIVISIONS_CODES } from "@johnmorrisdotca/chizu/load";
const country=await loadCountry("JP");
const divisions=await loadDivisions("jp");
const features=divisions?await loadFeatures(divisions):null;
console.log(COUNTRY_CODES.length,DIVISIONS_CODES.length,country?.id,divisions?.regions.length,features?.map);
238 32 country-jp 47 divisions-jp

国と行政区画の読み込みでは、大文字と小文字を区別しません。存在しないデータはnullです。動的import自体に失敗した場合は、アプリ側でエラーを扱います。FEATURE_MAPSは用意されている地物レイヤーのID一覧です。レイヤーはmapフィールドで指定された地図に対応します。

固定のimportと動的な読み込み

いつも同じ地図を描くページでは、データを直接importできます。利用者が選ぶ場合はloadCountry、loadDivisions、loadFeaturesを使います。今回一覧に加えた名前付きのエクスポートは、既存のワイルドカードと同じパスです。データと並び順は変えていません。

地図データ、ISOコード、国名の扱いも参照してください。

ソースを見るGitHub で編集@johnmorrisdotca/chizu 1.5.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。