表紙 > 目次 > 情報・コンピュータ・・・ > Google Mapsで遊ぶ | 作成:2006年8月1日 |
お断り
ここで紹介したコーディングは API V2 で記述しています。
2009年5月に APIが V3に更新され、操作方法にも変更がありました。従って、説明と現状で違いがあります。
実際のコーディングには役に立ちませんが、手探りでコーディングしていた頃の記録として掲載しております。
2005年7月に Googleが地図と衛星写真を公開し、無料で使えるようになりました。すでにこの Google Maps を取り込んで目的場所の地図やその付近の様子を表示するページがたくさん公表されていますので、すでにご存じの方も多いと思います。
このページでは、 Googole Maps のいろいろな使い方を紹介します。
Web ページ上で住所を検索して地図を表示するサービスはマピオンを始めとしていろんなプロバイダーによって提供されています。地図上のある点をクリックすると、その地点の情報を表示する方法(クリッカブルマップ 例: 塩屋の史跡めぐり )もすでにたくさん試みられています。
Google Maps を使うと世界中の地図と衛星写真を自由に自分のWeb ページ上に配置できるようになりました。
この機能を自分のページに取り入れる試みを行い、今の舞子を紹介するページを作りました。ここまでのコーディングの過程を記します。
まず、htmlファイルの中身をご覧ください。その後、少し説明をします。
(地図の大きさを400×400pxに縮小し、マーカーを4個所にしています)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Google Maps API サンプル</title> <script src="http://maps.google.com/maps?file=api&v=2&key=★★ここに APIキーを書く★★" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ window.onload = function() { var map = new GMap2(document.getElementById("map")); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.addControl(new GOverviewMapControl()); map.addControl(new GScaleControl()); map.setCenter(new GLatLng(34.63451440996255, 135.03454685211182), 15,G_SATELLITE_MAP); // マーカーを張り付ける関数 function addMarker(map, lat, lng, html) { var point = new GPoint(lat, lng); var marker = new GMarker(point); //吹き出しの幅を200pxに指定する var opt = map.getInfoWindow(); opt.maxWidth = 200; // マーカー上でマウスをクリックしたとき、説明を表示する GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html,opt); }); map.addOverlay(marker); } // 上で定義した addMarker 関数を使って地図上にマークを張り付ける addMarker(map, 135.03398895263672, 34.63334915546169, '<i><b>JR舞子駅</b></i><br>ホームの屋根の支柱に<a href="http://maikonohama.la.coocan.jp/topics/old-rail-maiko.htm"><b>1891年製のレール</b></a>が使われています'); addMarker(map, 135.03222942352295, 34.63281948891368, '<a href="http://maikonohama.la.coocan.jp/maiko/houdai.htm"><i><b>舞子砲台跡</b></i></a><br> 幕末の歴史が眠っています'); addMarker(map, 135.03132820129394, 34.62858203477939, '<a href="http://maikonohama.la.coocan.jp/maiko/oohasi.htm"><i><b>明石海峡大橋</b></i></a><br> 世界一の吊り橋です<br> <a href="http://www.hi-net.zaq.ne.jp/odagiri/hasi/hasi.htm"><b>橋の写真</b></a>もどうぞ'); addMarker(map, 135.03467559814453, 34.62985329374602, '<a href="http://maikonohama.la.coocan.jp/maiko/kindou.htm"><i><b>移情閣</b></i></a><br> 呉錦堂の別荘「松海山荘」を前身とし、大正4年(1915)に別荘の東側に建てられた八角三層の楼閣。国重要文化財。'); } //]]> </script> </head> <body> <table align="center"> <tr> <td> <div id="map" style="width: 400px; height: 400px"></div> </td> </tr> </table> </body> </html> |
注 上のコードは、表示の形を整えるために全角の空白文字を使っています。コピーアンドペーストではエラーが出ます。実行例のソースを表示してコピーし、APIキーを自分用に書き換えて使ってください。
Google Maps API の解説や地図の作製例のサイトを、関連リンク集で紹介していますのでご覧ください。