複数Markerを効率よく表示!Google Maps Extendedでクラスタリング機能を作成【bubble】

bubble

1. クラスタリング機能とは?

地図に大量の地点データ(Marker)を表示したいとき、1つ1つのピンを表示すると画面がごちゃごちゃしてしまいます。クラスタリング機能を使えば、近くにあるMarkerをグループ化し、ズームインするにつれて個別のMarkerが見えるようにできます。

このブログを読むとできること

  • Bubbleで「Google Maps Extended」プラグインを使い、地図上に大量のMarkerをクラスタリング表示できるようになります。
  • 地図がスッキリ見やすくなり、パフォーマンスも向上します。

2. 前提条件

  • 表示するデータがすでにある状態
    例:地名や緯度・経度情報がデータベースに登録されている。

今回使用するデータは下記のとおりです。
緯度(北緯)経度(東経)がnumber型で登録されている必要があります。

  • Bubbleの基本操作ができる
    例:エレメントの設置、Workflowの設定。
  • GoogleMAPとのAPI接続ができている

3. 通常のMAPでは不具合がある

Bubble標準の「Map」エレメントには以下の制限があります:

  • 表示できるMarker数に上限がある
    大量のMarkerを表示しようとすると、動作が重くなるか、正常に表示されないことがあります。
  • Markerが多すぎて画面が見にくい
    ピン同士が重なり、どこに何があるのかわかりにくくなります。

これを解決するのが「Google Maps Extended」プラグインです。


4. プラグインの紹介:Google Maps Extended

「Google Maps Extended」プラグインは、Google Mapsの高度な機能をBubbleに追加できる便利なツールです。クラスタリング表示をはじめ、標準のMapエレメントでは実現できない機能を利用できます。

主な特徴

  • Markerのクラスタリング表示
  • 経路表示
  • ジオコーディング(住所⇄緯度・経度変換)

bubbleのプラグインページで「Maps Extended」と検索すれば上の方に表示されます。

インストールボタンを押下し、インストールしましょう



5. エレメントの設置

「Google Maps Extended」エレメントをページにドラッグ&ドロップします。

エレメントの設定パネルで、以下の設定を行います:

  • Center Location:ここでは現在位置を中心に表示したいため「Current geographic postion」を選択します。

6. Workflowの設定

Google Maps ExtendedでMAPにマーカーを表示させるためには、Workflowでデータベースからを対象のデータを読み込ませる必要があります。

トリガーの設定

Click here to add an event…のElementsから
A Maps Extendet Map is redy」を選択します。

Element Actionsの設定

今回は複数の地図データをMap上に表示させたいので
Element Actionsの中から「Add Markars List a Maps Extended」を選択します。

「Add Markers」**アクションを追加し、取得したデータをマップに追加します。

設定方法

Ting:読み込む対象の型、今回なら対象のデータベース

List of Things:Do search for 対象のデータベース

Latiude:緯度データ(データベースに保存されているデータ※number型

Longitude:経度データ(データベースに保存されているデータ※number型

ID Field:unique id

この設定でとりあえずMAP上にマーカーを表示させることができます。

クラスタリングの設定

定ウィンドウを下までスクロールをすると
Cluster Markersの項目があり、これを「Yes」にします。

これで近接するマーカー同士をまとめて表示することができます。


7. よくあるトラブル

1. マーカーが重なって表示される

  • Maps Extended Map is ready のトリガーは
    Mapが読み込まれるたびに発動するので、ページが更新されると
    Add Markers list MappsExtendedで同じデータが重複して読み込まれてしまいます。

これを避ける方法は2つ

1つめ「Allow duplicate markersのチェックをはずす」

このチェックを外すことで、重複した場所の表示を1つにまとめてくれます。

2つめ「Reset Map a Maps Extended」を使用する

Mapに追加されたマーカーをリセットするアクションです。

Add Markersの前に置くことで、地図が読み込まれるたびに必要なデータだけ読み込ませることができます。


8. まとめ

「Google Maps Extended」プラグインを使えば、Bubbleで大量のMarkerをクラスタリング表示し、地図を効率よく活用できます。標準マップの制限を超え、ユーザーにとって見やすく快適な地図表示を実現しましょう!

Google Maps Extendedには他にも便利な機能がたくさん!

  • 経路表示:2点間のルートを表示するナビゲーション機能。
  • ジオコーディング:住所から緯度・経度への変換、またはその逆を行う機能。
  • カスタムスタイル:地図のデザインや配色を自由に変更。
  • リアルタイム更新:データの変更に合わせて地図上のMarkerを動的に更新。

これらの機能を活用すれば、より高度な地図アプリやサービスが作成できます。ぜひ「Google Maps Extended」を試して、あなたのBubbleアプリをさらにパワーアップさせましょう!

次回はマーカーがクリックされたとき、詳細を表示する機能についての記事を書きたいと思います。

コメント

タイトルとURLをコピーしました