アクセスでGoogleマップ  Ver 2

Accessのフォーム上にWebブラウザコントロールを使ってGoogleマップを表示し、テーブルに保存された住所にマーカー(赤い旗)を立てる、Microsoft Access 2010用のサンプルデータベースです。Access2010から標準コントロールとなったWebブラウザコントロールの使い勝手を見てみようと思って作ってみました。

本データベースはフリーウェアです。自由にお使いください。デザインやVBAのソースもいじれますので、自由にカスタマイズして使っていただいてかまいません(エラー処理なども完全ではないかもしれませんのでむしろアレンジしないと本格的には使えないかもしれませんね)。ただし、サポートは一切できかねますので、ご自分の責任においてご利用ください。 。


特 徴

  • Accessのテーブルに、場所の名前と住所を登録しておくことで、Googleマップのそれぞれの位置にマーカーを表示します

  • マップ上のマーカーをクリックすると、場所の名前と住所をポップアップウィンドウで表示します

  • マップの中心位置となる住所や初期縮尺サイズをフォーム上で指定できます

  • マップの表示にはAccess 2010の標準コントロールであるWebブラウザコントロールを使っています

  • GoogleマップのAPI、スタイルシートなどを活用し、既定のindex.htmlファイルを変えることで、より高度な地図表示にすることもできます

画面イメージ

画面イメージクリックで拡大表示


処理の概要

処理の概要図
  1. Accessのテーブル上に、場所の名前と住所(都道府県から)のデータを保存しておきます。

  2. フォーム読み込み時、あるいは[前の10件]・[次の10件]等のボタンのクリック時イベントプロシージャのVBAの処理によって、10件分のマーカーの位置情報などをmapdata.jsファイルに出力します。

  3. index.htmlファイルでは、そのmapdata.jsを外部スクリプトのソースとして読み込みます。

  4. フォーム上に配置されたWebブラウザコントロールの「コントロールソース」プロパティにはそのindex.htmlファイルのパスが指定されていますので、その内容が読み込まれ、WebブラウザコントロールにHTML上で記述されたGoogleマップが表示されます。

  5. テーブルのデータはサブフォームに表示されていますので、そこで編集することができます。編集後、いずれかのボタンをクリックすると最新情報がmapdata.jsファイルに出力され、マップの内容が更新されます。

mapdata.jsファイルの内容(一例)

index.htmlファイルの内容

フォームモジュールの内容


Googleマップの仕様上、マーカーは10件単位での表示となっています。そのためここでは10レコードのページ単位での処理としています。あらかじめテーブルに、住所ではなくGoogleマップ規定の位置座標値データが保存されていて、それを使ってマーカー表示するようにすればもっとたくさんのマーカーを同時に表示させることもできます。また、ポップアップウィンドウの表示内容やスタイルなども、JavaScript部分をアレンジしたりCSSを使うことで色々変えることができます。それらについてはAccess以外のものとして関連情報を参照してみてください。

使い方

本データベースはAccess2010の通常のデータベースです。これといったセットアップ作業は必要ありません。下記のような要領でご使用ください。
  1. 本データベースの配布ファイル(.ZIP)を解凍し、データベースファイル「AccGoogleMap.accdb」と、「mapdata.js」、「index.html」を任意の”同じフォルダ”に置きます。

  2. Access2010を起動し、本データベースファイルを開きます。

  3. 起動時の設定によって、初期画面が自動的に表示されます。

  4. サンプルデータがいくつか登録されていますので、適当に操作してみてください。また、住所等のデータを画面上から書き換えるなどしてみてください。

  5. F11キーを押すなどの操作によってナビゲーションウィンドウを表示して、あとは自由にフォームのデザインやプログラムなどを確認してみてください。もちろん改変や流用等は自由にできます。

Ver1からの変更点

  • 「Google Maps JavaScript API バージョン 3(V3)」に対応しました。
  • 「マップ中心住所」および「マップ縮尺」変更時にもマップ内容が更新されるようにしました。

動作環境

本データベースをご利用になるには、Access2010が必要です(Access2007については動作確認しておりません、2003以前のバージョンではファイルを開けません)。
また、1024×768ピクセル以上の解像度のディスプレイにおいて、ナビゲーションウィンドウを閉じた状態での大きさでフォームをデザインしています。

ダウンロード

ダウンロード (ACCGMAP2.ZIP、40,022バイトあります)




 


Copyright © T'sWare All rights reserved