応用

ハウツー 大量の点をクラスタリングするには

数百〜数千の点を地図に載せると、点が重なって見づらくなります。クラスタリングを有効にすると、近い点を自動でまとめて件数ラベルを表示し、拡大すると個別の点に分かれます。

コード

data-cluster="on" を足すだけです。

<style>
  .geolonia { width: 100%; height: 100vh; }
</style>

<div class="geolonia"
     data-lat="35.67" data-lng="139.74" data-zoom="10"
     data-marker="off"
     data-geojson="/data/dense-points.geojson"
     data-cluster="on"></div>

<script src="https://cdn.geolonia.com/embed/v5/embed?geolonia-api-key=YOUR-API-KEY"></script>
  • data-cluster="on":GeoJSON の点を自動でクラスタリングします。
  • data-cluster-color:クラスターの色を変えたいときに指定します(例: data-cluster-color="#e74c3c")。

結果

上のコードは、それぞれのタブの下でそのまま動いています。300点のデータがクラスタリングされて表示され、拡大するとクラスターが分かれて個別の点になります。

うまくいかないとき
  • クラスターにならず全部バラバラ → data-cluster="on" が書かれているか確認。値は "on" です("true" ではありません)。
  • 何も出ない → data-geojson のパスが正しいか確認。GeoJSON ファイルがサーバー上に存在し、アクセスできる必要があります。