本文へ移動

Chizu地図

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

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

目次

リファレンス · 表示範囲・形・クイズの道具

layoutCallouts関数

リファレンスの説明と例は英語です。見出しと目次は日本語です。

Numbered circles in the open space around and between the regions of a map, each with a leader line to its region.

A circle sits in the water and not on the land, no two leaders cross, and a leader crosses as little land as it can (see placeCallouts for how the three are weighed). The result is geometry only: draw it with drawChizu's callouts option or with anything else that draws circles and lines. It is the same arrangement for the same map, window and list, every time, with no randomness in it that is not seeded.

On a map that wraps, a window that overhangs the cut shows land twice, so both copies keep the circles out, and a region is numbered where the window shows it.

インポート

import { layoutCallouts } from "@johnmorrisdotca/chizu";

定義

function layoutCallouts(map: Pick<ChizuMap, "regions" | "insets" | "width" | "height" | "wraps">, request: CalloutRequest): CalloutSpot[]

引数

名前型説明
mapPick<ChizuMap, "width" | "height" | "regions" | "insets" | "wraps">

The native map or map fields required by this signature; coordinates and region codes belong to its canvas.

requestCalloutRequest

Native codes, framing, numbering and layout choices for the callout sheet.

戻り値

CalloutSpot[]

Numbered circles in the open space around and between the regions of a map, each with a leader line to its region.

例

import WORLD from "@johnmorrisdotca/chizu/world";
import { layoutCallouts } from "@johnmorrisdotca/chizu";

const spots = layoutCallouts(WORLD, { codes: ["JP", "BR", "EG", "AU"], radiusRatio: 0.02 });
console.log(spots.map((spot) => `${spot.number} ${spot.code}`).join(", "));
// 1 JP, 2 BR, 3 EG, 4 AU
1 JP, 2 BR, 3 EG, 4 AU

出力(このページを作ったときに実行した結果)

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

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