例-5:地図外のリンクをクリックしたら、地図内に吹き出しを表示する

 

国会議事堂



外務省
<!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 JavaScript API Example</title>
    <script src="http://maps.google.co.jp/maps?file=api&v=2&sensor=false&key=[あなたのAPIキー]" type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[

    //マーカーを記憶しておくための配列
    var marker_list=[];
    
    function load() {
      if (GBrowserIsCompatible()) {

        //地図を作成
        var map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(35.677335,139.746613), 16);

        //国会議事堂にマーカを作成
        var txt="<CENTER><IMG hspace=5 src='/img/example_5-1.jpg' vspace=5><BR>国会議事堂</CENTER>";
        marker_list['国会議事堂'] = addMarker(35.676148,139.74479, txt);
        map.addOverlay(marker_list['国会議事堂']);
      
        //外務省にマーカを作成
        txt="<CENTER><IMG hspace=5 src='/img/example_5-2.jpg' vspace=5><BR>外務省</CENTER>";
        marker_list['外務省'] = addMarker(35.674903,139.749565, txt);
        map.addOverlay(marker_list['外務省']);
      }
    }

    function addMarker(lat, lng, txt){
        //経度・緯度を作成
        var latlng = new GLatLng(lat, lng);
        
        //マーカーを作成
        var marker = new GMarker(latlng);
        
        //クリックされたら、吹き出しを開く
        GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(txt);
        });
        
        return marker;
    }
    function clickMarker(index){
        //吹き出しを表示する
        //(擬似イベント:"click" をマーカーに対して発生させることで、吹き出しを開く)
        GEvent.trigger(marker_list[index], "click");
    }
    //]]>
    </script>
  </head>
  <body onload="load()" onunload="GUnload()">
    <table>
        <tbody>
            <tr>
                <td>
                    <div id="map" style="width: 500px; height: 500px;">
                    </div>
                    <br>
                </td>
                <td align="center">
                    <a onclick="clickMarker('国会議事堂');" href="javascript:void(0);">
                        <img src="/img/example_5-1.jpg">
                        <br>
                        国会議事堂
                    </a>
                    <br>
                    <br>
                    <a onclick="clickMarker('外務省');" href="javascript:void(0);">
                        <img src="/img/example_5-2.jpg">
                        <br>
                        外務省
                    </a>
                </td>
            </tr>
        </tbody>
    </table>
  </body>
</html>
サイト内検索
Maps APIの本を書きました
Google Maps APIプログラミング入門
全480ページ。Google Maps API ver.2, ver.3, for Flash, Static Maps API v2, Google Maps API Primery, ライセンス…など、Google Maps APIに関連する幅広い内容の本を書きました。
このサイトで公開しているサンプルはもちろん、本のために作ったサンプルも満載です。
詳しくはこちら

Google Maps Designer
Google Maps Designer