アクセスでGoogleマップU
Accessのフォーム上にWebブラウザコントロールを使ってGoogleマップを表示し、テーブルに保存された住所にマーカー(赤い旗)を立てる、Microsoft
Access 2010用のサンプルデータベースです。
この「U」は、「アクセスでGoogleマップ Ver 2」 の仕様改訂版です。「アクセスでGoogleマップ」では、住所のデータをJava Script上でその都度Google Maps APIを呼び出してマーカー表示していました。APIの制限によって一度に10件しか表示できないため、Access側で10件ごとのページングを行うことで問題を回避していました。
そこでこのUでは、事前に住所から座標値(緯度・経度)への変換を行い、Access上に保存処理を行っておくことによって、Java Scriptでは住所は扱わず座標値だけでマーカー表示するようにしました。それによって、従来のようなページングなしで、一気に大量のマーカーが表示できるようになりました。
本データベースはフリーウェアです。自由にお使いください。デザインやVBAのソースもいじれますので、自由にカスタマイズして使っていただいてかまいません。ただし、サポートは一切できかねますので、ご自分の責任においてご利用ください。
。
特 徴
- Accessのテーブルに、場所の名前と住所を登録しておくことで、Googleマップのそれぞれの位置にマーカーを表示します
- マップ上のマーカーにマウスを移動すると、場所の名前と住所がポップアップウィンドウで表示されます
- マップの中心位置となる住所や、初期縮尺サイズをフォーム上で指定できます
- マップの表示にはAccess 2010の標準コントロールであるWebブラウザコントロールを使っています
- GoogleマップのAPI、スタイルシートなどを活用し、既定のindex.htmlファイルを変えることで、より高度な地図表示にすることもできます
画面イメージ
クリックで拡大表示
処理の概要
- Accessのテーブル上に、場所の名前と住所(都道府県から)のデータを保存しておきます。
- [最新情報に更新]ボタンのクリック時イベントプロシージャのVBAの処理によって、Google MapsのAPIを利用して住所データからその座標値(緯度・経度)を取得し、その結果をデータベースに保存するとともに、mapdata.jsファイルに出力します。
※コピー&ペースト等によって大量のデータを一度に追加あるいは更新した場合、その件数によっては座標値の取得に非常に時間が掛かる場合があります。
※ただし、一度取得されれば、[最新情報に更新]ボタンを再度クリックしても取得済みデータについては処理が行われません。追加や変更されたレコードだけが処理対象となりますので、比較的速く処理されます。
- index.htmlファイルでは、そのmapdata.jsを外部スクリプトのソースとして読み込みます。
- フォーム上に配置されたWebブラウザコントロールの「コントロールソース」プロパティにはそのindex.htmlファイルのパスが指定されていますので、その内容が読み込まれ、WebブラウザコントロールにHTML上で記述されたGoogleマップが表示されます。
- テーブルのデータはサブフォームに表示されていますので、そこで編集することができます。追加や更新を行ったあとは再度[最新情報に更新]ボタンをクリックします。それによって最新情報がmapdata.jsファイルに出力され、マップの内容が更新されます。
mapdata.jsファイルの内容(一例)
index.htmlファイルの内容
フォームモジュールの内容
使い方
本データベースはAccess2010の通常のデータベースです。これといったセットアップ作業は必要ありません。下記のような要領でご使用ください。
- 本データベースの配布ファイル(.ZIP)を解凍し、データベースファイル「AccGoogleMap2.accdb」と、「mapdata.js」、「index.html」を任意の”同じフォルダ”に置きます。
- Access2010を起動し、本データベースファイルを開きます。
- 起動時の設定によって、初期画面が自動的に表示されます。
- サンプルデータがいくつか登録されていますので、適当に操作してみてください。また、住所等のデータを画面上から書き換えるなどしてみてください。
- F11キーを押すなどの操作によってナビゲーションウィンドウを表示して、あとは自由にフォームのデザインやプログラムなどを確認してみてください。もちろん改変や流用等は自由にできます。
動作環境
本データベースをご利用になるには、Access2010以降が必要です。
また、1024×768ピクセル以上の解像度のディスプレイにおいて、ナビゲーションウィンドウを閉じた状態での大きさでフォームをデザインしています。
ダウンロード
ダウンロード (ACCGOOGLEMAP2.ZIP、112,428バイトあります)
|