ExcelとGoogle Mapsの相互連携


Exif(ジオタグ)はこちらへ移転しました
「Excel & Google Maps & StreetView」はこちらへ移転しました
TSPソルバーはこちらへ移転しました
「ExcelとGoogle Mapsでルート検索」はMy Mapsが充実したので廃止します

このExcelアプリはGoogleMapsと相互にデータをやり取りするものです。

●地図をクリックして地点データをExcelに表示。

●Excelに登録したデータ(住所、緯度・経度)をクリックして地図移動。

●Google MapsにはExcelの行を示す数字付きマーカーで表示

表示数に制限はありません

マーカーの色はExcelの文字色で表示

一部VBAをDLL化してましたが、どうも不具合が出るようなので元に戻しました。

 

保存したデータGoogle EarthやMy Maps(マイマップ)で使えます。

位置データを持った外部CSVファイルを読み込めば、その場所をGoogleMapsで表示できます。

GMapBook.xlsmのダウンロード2016/08/30 update

こんな感じ。

vba-map1


地図をクリックして地点データをExcelに表示

vba-map21

Excelをクリックして登録したデータで地図移動

登録したものでなくても、住所のセルなどに新規に入力してクリックすれば移動します。

vba-map31


Excelのワークシート

動作に必要なのは、1行目に「緯度・経度・標高・住所」という単語を持つ4つの列です。

順不同で、他の列が挿入されていてもかまいません。

もし存在しない場合は、地図を開く時にワーニングが出ます。

「座標列(10進)」というのは、あってもなくてもかまいません。あればそこにデータを挿入します。

「名称」、「メモ」列も任意です。ここにデータがあればKMLやCSVファイル作成時に反映されます。

メモの記述ではHTMLも可です。改行なんかが必要な場合は<br/>などをお使いください。


vba-map41

データを複数選択して表示する場合、マーカーの色は文字の色と同じになります。カテゴリー分けするような場合に使います。

文字の色が黒の場合マーカーの色は白にしています。Earthの画面が暗色系なのでそうしています。

CSVやKMLで保存するとGoogle EarthMy Maps(マイマップ)で使用できます。

KMLならグーグルマップEarthMyMaps(マイマップ)で同じ色のマーカーを使えます。

KMLもCSVもExcelのブックと同じ場所に保存されます。


データの作り方

【地図からデータを拾う場合】

地図上でクリックしてください。

vba-map-maps2

その位置の緯度・経度・標高・住所がセットされます。

vba-map-excel2

こういう所をクリックしたらどうなるか…というと。

vba-map-seaclick

住所はありませんので、住所フィールドに「ZERO_RESULTS」というのが入り、 緯度・経度・標高(というか海抜)データは普通にセットされます

【ワークシートにデータを貼り付けて使う場合】

住所やランドマーク名からデータを採取します。

地図を開いておきます。

住所やランドマーク名を入力して、その行をクリックします。

vba-map-excel5

その場所に移動して、他のデータを補完します。

vba-map-maps5

excel5-1


位置を修正する場合

緯度・経度のデータがあるなら、行をクリックすればその位置に移動します。

vba-map-excel4

赤いマーカーをドラッグして移動させます。

vba-map-maps4

修正されたデータがセットされます。

vba-map-excel4-1

地図の移動は住所より緯度・経度が優先されます。マーカーのドラッグにより住所が変わるのはちょっと….という方は、

住所を一旦別列に保存しておき、修正後再度戻すようにしてください。


データの追加

通常、地図をクリックすれば、データは最後尾へ追加されていきます。

途中にデータを追加したい場合は、行を挿入してください。

地図表示時は、右クリックは使えませんので地図を閉じるか、メインメニュで挿入してください。

vba-map-excel5

地図上でクリック。

vba-map-maps6

途中の空白行にデータがセットされます。

vba-map-excel6-1


データの削除

通常のExcel操作と同じです。


1行目に「緯度・経度・標高・住所」の列が見つからないか、存在しない場合

excel7

地図を開くとき、以下のようなダイアログが出ます。

列記号を入力します。

経度なら「B」といった記号ですが、列の順番が違う場合は適宜変更してください。

vba-map-excel7-1

仕様では、その列に「経度」がセットされます。


外部CSVファイルの読み込み

緯度、経度のデータを持ったCSVを読み込めばMapsで表示できます。

●データ列が名称・緯度・経度の順の場合

例えばこんなファイル(奈良の事業所データ)

Excel 2013の場合

メニュ -> データ -> 外部データの取り込み -> テキストファイル -> CSVファイルを選ぶ -> 取り込み開始行は1 -> 区切り文字は「その他」で”カンマ” ->

完了

既存のワークシートで、$A$2に取り込みます。

 

●データ列が名称・住所の順の場合

例えばこんなファイル

Excelの列の順番を変えます、こんな感じ。

excel-junban

で、上と同様に読み込めばよいです。

excel-junban2

 

後はExcelの行をクリックしたり複数行を選択するだけ。


 

2 Comments on ExcelとGoogle Mapsの相互連携

  1. はじめまして。
    熊本の小野と申します。
    今回、御社のGmapと言うサイトを見つけて、DLした上で使わせていただきました。
    大変素晴らしいシステムでだと思います。

    実は私は「地域マップ」と言うサイトを運営してまして、地域内の様々な店舗情報をGoogleMap上で配信したいと考えています

    。(一部運用しています)

    御社のGmap簡単に地図から座標の抽出ができるので重宝していますが、残念な事にKmlに変換ができません。
    そこで、地理院のExcelからKmlに変換するために、「地理院マップシート」(http://renkei2.gsi.go.jp/renkei/130326mapsh_gijutu/ind

    ex.html)を利用してKmlに変換しています。

    出来れば御社の「Gmap」と地理院の「地理院マップシート」を一緒にした

    ような物ができないかと模索しています。
    もし、このような事が出来るExcelフォーマットを開発して頂けるものなら、開発費用はどれくらいになるのでしょうか。
    お忙しいところ、申し訳ありませんが、よろしくお願いいたします。

    • WisteriaHillの管理人です。
      ご返事遅れてすいません。
      早速ですが、私、地理院マップシートなるものを存じませんでした。
      ので、これから参照してみて、詳細をご返事させていただきます、少々お時間くださいませ。
      なお、当サイトでは基本、地図データはkml/kmz形式で保存するようにするのが方針ですので
      ボリュームが適当なら費用を頂戴することはありません。
      ただ、これは時間がかかると判断した場合は、仕様をご提示したうえで、Lancers経由でお受けすることになるかと思います。
      どうぞよろしくお願いいたします。

      ご不明は点やご要望があれば遠慮なくおっしゃってください(^^)。

Leave a Reply

Your email address will not be published.


*