カスタムスプライト

Geolonia CLI でカスタムスプライトをアップロードする方法を紹介します

概要

地図上のマーカーを好きなアイコンに置き換えることは、カスタムマーカーで実現できます。1つのマーカーを置き換える場合は、JavaScriptを書かなくても Embed API のみで実現できます。

ただ、GeoJSONなどのデータソースを使って複数のマーカーを表示すると、上記のようなカスタムマーカーを使うことができません。その場合には、これから紹介するカスタムスプライトを使います。

地図用スプライトシートについて

各スタイルには、その地図スタイルが使うスプライトシートが用意されています。例えば、 gsi スタイルのスプライトシートはこちらです。このスプライトシート内のアイコンの座標を参照するために別途 JSON ファイルが用意されています。

GeoJSON 仕様を確認すると、「指定可能なスタイル情報」の marker-symbol の値は、このスプライトシート内のアイコンに相当するものです。

このスプライトシートに自分のアイコンを追加するには、 Geolonia CLI のカスタムスプライト機能を使います。

スプライトをアップロードします

カスタムスプライトは API キーとひも付きます。複数 API キーでスプライトを使用したい場合はもう一度下記の手順でアップロードしてください。

現在対応フォーマット: SVG (推奨), PNG

※ アイコンを作成するにあたって、画面の画質に合わせて1倍と2倍のスプライトシートを2枚作ります。そのため、サイズを変更しても画質が落ちないSVGを推奨しております。ただ、SVGの用意が難しいためPNGも対応可能です。PNGの2倍画質のものが用意されていれば、 [アイコン名]@2x.png としてアップロードすると認識し、2倍用のスプライトシートに使われます。

まずは、アイコンをアップロードしましょう。

$ geolonia sprites upload ./custom-icon.svg

続けて、どの API キーと紐づけるかを選びます。

[1] API キー (ユーザー名 が 日付 に作成)
Please select the map key [1]: 1

最後に、アイコン名を指定します。デフォルトでは拡張子を抜いた名前になりますが、ここでカスタマイズできます。

Please input the sprite ID. Press Return if you are OK with the default name [custom-icon]: custom-icon

下記メッセージは、正常にアップロードが完了したことを示しています。

Successfully uploaded ./custom-icon.svg as custom-icon

以上で、先程選択した API キーで表示されている地図に、このアイコンが含まれているスプライトシートが配信されます。