[Leaflet.js] Excelのデータからマーカーをプロット

レイヤやスケールを追加した基本的な地図を表示するところまでできました。
次にマーカーをプロットしてみます。

マーカーをプロットする方法

公式のDocumentationによれば,

と記述するだけでマーカーをプロットすることができます。

しかしながら,このようにスクリプト内に直接記述してマーカーをプロットすることが目的ではないので,Excelのデータと連携する手法を考えてみます。今考えられるだけでも以下のような手法があるはず。

  • VBAからスクリプトを実行させる
  • VBAでGeoJSONデータをつくり,地理院地図などでロードする
  • VBAでGeoJSONデータを含むHTMLファイルを書き出す

手始めにこのページでは,一つ目のVBAからスクリプトを実行させる方法をやってみます。

スクリプトを受けるHTMLファイルを用意しておきます。

緯度・経度のデータをテーブルに用意します。以下の例では東京を中心にランダムに決めています。

このファイルは上のsaveiconアイコンからダウンロードできます。

標準モジュールに以下のプロシージャを追加します。
プロシージャの説明はコメントに記載の通りです。

必要に応じてボタンなど設置すればよいと思いますが,まずはマクロのダイアログから実行します。

macro

このような結果になります。マーカーをクリックすると,ランクA〜Cのデータがポップアップして表示されます。

result

関連記事