はじめに
はじめに
ページに地球儀を置き、中心を決め、見る人が回せるようにするまでを、5分ほどで進めます。
このガイドでは、ページに地球儀を置き、東京を中心にして、見る人が回したり傾けたり拡大したりできるようにします。必要なのはテキストエディターとブラウザーだけです。何もインストールしません。ページが CDN からパッケージを読み込みます。
1. 地球儀のあるページ
次の内容を globe.html という名前で保存して、開いてください。<chikyu-earth> タグが地球儀です。その上にあるスクリプトが、このタグを動かします。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Chikyu Earth from jsDelivr</title>
<script type="module" src="https://cdn.jsdelivr.net/npm/@johnmorrisdotca/chikyu-earth/element/+esm"></script>
</head>
<body>
<chikyu-earth center="139.7,35.7" look="thick" graticule size="320"></chikyu-earth>
</body>
</html>地球儀は SVG で、Natural Earth の国の輪郭から描かれます。中心は center 属性で決めます。値は「経度,緯度」の形です。center を書かないと、ブラウザーが見る人の場所を尋ね、その場所が中心になります。見る人が答えるまで、または断った場合は、グリニッジ子午線が中心です。
look は line (細い線。初期値) か thick (太い線) です。graticule を付けると、経線と緯線が入ります。size は幅と高さで、単位はピクセルです。
2. 見る人が回せるようにする
パッケージは描くだけです。回す、傾ける、拡大する、ピンチ、移動、速さの選択、全体表示といった操作は、共有の kazoku-ui のビューコントロールが受け持ちます。コントロールを追加し、その結果をリスナー1つで地球儀に渡します。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Chikyu Earth with the shared controls</title>
<script type="module">
import "https://cdn.jsdelivr.net/npm/@johnmorrisdotca/kazoku-ui/view-controls/define/+esm";
import "https://cdn.jsdelivr.net/npm/@johnmorrisdotca/chikyu-earth/element/+esm";
const earth = document.querySelector("chikyu-earth");
document.querySelector("kazoku-view-controls").addEventListener("kazoku-viewchange", (event) => {
earth.setView(event.detail, event.detail.final, event.detail.reason !== "auto");
});
</script>
</head>
<body>
<div id="globe" tabindex="0">
<chikyu-earth size="420" look="thick" center="139.7,35.7"></chikyu-earth>
</div>
<kazoku-view-controls for="globe" address grab-radius="fit" controls="advanced" tilt-max="90" speed="0.004178"></kazoku-view-controls>
</body>
</html>setView(view, final, live) は、コントロールのカメラを受け取ります。操作の途中は final が false で、軽い変形だけを行います。操作が落ち着くと true になり、正射図法をもう一度描きます。live は、手がビューに触れていること (自動で回るとき以外) を伝えます。その間は回している最中も正射図法を描き直し、1秒に30回までなので、地球儀はポインターについてきます。自動で回るときは、約1秒に1回描きます。自動で回る速さは、地球と同じ毎秒 0.004178 度で、恒星日で1回転します。動きを減らす設定の人には、コントロールが止めたままにします。
3. 次に読むもの
- バンドラーやフレームワークで使う: バンドラー、フレームワーク
- 自分のスクリプトなしで、ほかのページに表示する: iframe で埋め込む
- サーバーで描く、または型を使う: TypeScript と Node
- 宇宙から見た地球と、好きな場所の目印: リアルな地球と目印
- 表示されないとき: 困ったとき
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。