エクセルにある住所から、GeoCodingやZip-GeoCodingして、
GoogleMapに表示させるについては、私もサンプルを作ってみた事が
あります。↓
http://yoneyone.my-sv.net/vbsample.htm
技術的な問題より、GoogleMapの利用規約にふれないかが心配です。
商用利用(有償で配付)しない事、Web公開している事、大量データを処理しない事
を守ればOKだと自己解釈しています。
本来はエクセルからXMLでデータを出力させ、Webページ側はアップロードされたXMLを取り込めるように作る方がより汎用的になるのでベターです
が、私は以下の
ようにお手軽にやりました。
<エクセル側>
-Geocoding
GeoCodingのApiサービスにHTTPリクエストの結果をMSXML2.DOMDocumentに
取り込んで、パースする。(住所はURLエンコードしておく)
-GoogleMapへの連携(簡易方法)
IEブラウザーをOBJECTとして扱い、VBで操作します。
データはJSON形式を作って、JAVASCRIPTに渡します。
こんな感じ
parm = "Jsondata=" & "{" & Chr(34) _
& "point" & Chr(34) & ":{" & Chr(34) _
& "lat" & Chr(34) & ":" _
& Cells(i, 5).Value & "," & Chr(34) _
& "lng" & Chr(34) & ":" _
& Cells(i, 6).Value & "," & Chr(34) _
& "dosu" & Chr(34) & ":" & Chr(34) _
& data_icontype & Chr(34) _
& "}}"
objIE.document.parentWindow.execScript parm, "javascript"
objIE.document.parentWindow.execScript "data_points_set();",
"javascript"
<Webページ側>
データを投入可能な、汎用的なMAPを作っておく。
こんな感じ
var Jsondata;
var DATA_POINTS=[];
---
function data_points_set(){
var data = [];
data["lat"] = Jsondata.point.lat;
data["lng"] = Jsondata.point.lng;
data["dosu"] = Jsondata.point.dosu;
DATA_POINTS.push(data);
}
(です。)