本文へ移動

Chikyu Earth地球

世界の国の輪郭を線で描いた地球儀です。地球と同じ速さで回ります。宇宙から見たような地球と、好きな場所の目印も使えます。

「地球」(ちきゅう) は、私たちが住む星の名前です。 名前について(英語)

目次

リファレンス · 地球上の目印

placeLabels関数

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

Place up to max labels inside width x height. Each label is tried to the right of its dot, then to the left, above and below; the first spot that is inside and free of the labels already placed wins. Items are taken highest priority first (a tie keeps the order given). The cost is the number of items times at most four tries against a grid of what is placed.

インポート

import { placeLabels } from "@johnmorrisdotca/chikyu-earth/markers";

定義

function placeLabels(items: readonly LabelItem[], width: number, height: number, max: number, cell?: number): Placement[]

引数

名前型説明
itemsreadonly LabelItem[]

The dots and the size of each one's label.

widthnumber

The width of the area the labels must stay inside, in pixels.

heightnumber

The height of that area, in pixels.

maxnumber

The most labels to place.

cell (省略可)number

The side of the grid cell used to find overlaps, in pixels.

戻り値

Placement[]

A placement for each label that fits; the others are left out.

例

import { placeLabels } from "@johnmorrisdotca/chikyu-earth/markers";

const items = [
  { x: 100, y: 100, r: 4, w: 60, h: 20, priority: 1 },
  { x: 110, y: 104, r: 4, w: 60, h: 20, priority: 9 },
];
console.log(placeLabels(items, 300, 300, 10).map((place) => place.item));
[ 1, 0 ]

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

ソースを見るGitHub で編集@johnmorrisdotca/chikyu-earth 0.11.0 のソースから作成しました。

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