応用

ハウツー 独自のデータソース(ベクトルタイル等)を追加するには

GeoJSON では収まらない大きなデータや、他所が配信しているタイルを地図に重ねるには、タイルソースを追加します。{z}/{x}/{y} のテンプレート URL で配信されるラスタタイルやベクトルタイルが対象です。

コード

embed(HTML の属性だけ)ではこの機能は使えません。上のタブで suite / react のコードに切り替えてください。

結果

上のコードは、それぞれのタブの下でそのまま動いています。ベース地図の上に、追加した地理院タイルが重なって表示されます。ラスタタイルなら画像がそのまま、ベクトルタイルなら Layer で指定した描き方で描かれます。

なお、ベクトルタイルの例(example.com)は URL が架空なのでそのままでは動きません。自分の配信元に差し替えてください。

うまくいかないとき
  • 何も出ない(ラスタ)→ テンプレート URL をブラウザで直接確認。{z}/{x}/{y} に実数(例: 12/3637/1612)を入れて画像が返るか見ると早いです。
  • 何も出ない(ベクトル)→ source-layer 名の不一致が一番多い原因です。タイルの仕様書か、配信元のスタイル定義で正確な名前を確認してください。
  • タイルがずれる、粗い → tileSize を確認(256 か 512 か、配信元によって異なります)。