例−34:ズームレベルに応じて画像を変更する

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <title>例−34:ズームレベルに応じて画像を変更する</title>
  <script src="http://maps.google.co.jp/maps?file=api&amp;v=2&amp;key=[MAPS_API_KEY]"
  type="text/javascript"></script>
  <script type="text/javascript">
  //<![CDATA[

    var map;
    var mgr;

    function load(){
      if (GBrowserIsCompatible()) {
          var pos = new GLatLng(35.676148,139.74479);
          
          //地図を作成
          map = new GMap2(document.getElementById("map"));
          map.setCenter(pos, 16);
          
          //ズームコントローラを付ける
          map.addControl(new GLargeMapControl()); 
          
          //マーカーマネージャーを作成する
          mgr = new GMarkerManager(map);
          
          //ズームレベル15以上のとき、photoAを表示
          var photoA_marker = createMarker(pos, {
              image : "http://googlemaps.googlermania.com/uploads/image/photoA.gif"
             ,iconSize : new GSize(113, 125)
             ,iconAnchor: new GPoint(0, 125)
          });
          mgr.addMarker( photoA_marker, 15 );
          
          
          //ズームレベル12〜14のとき、photoBを表示
          var photoB_marker = createMarker(pos, {
              image : "http://googlemaps.googlermania.com/uploads/image/photoB.gif"
             ,iconSize : new GSize(57, 63)
             ,iconAnchor: new GPoint(0, 63)
          });
          mgr.addMarker( photoB_marker, 12, 14 );
          
          
          //ズームレベル3〜11のとき、photoCを表示
          var photoC_marker = createMarker(pos, {
              image : "http://googlemaps.googlermania.com/uploads/image/photoC.gif"
             ,iconSize : new GSize(29, 33)
             ,iconAnchor: new GPoint(0, 33)
          });
          mgr.addMarker( photoC_marker, 3, 11 );
          
          
          //マーカーマネージャーを稼動させる
          mgr.refresh();
      }
    }

    function createMarker(markerPos, photoInfo){
      //オリジナルマーカーの画像を作成
      var myIcon = new GIcon(photoInfo);
      
      //画像として表示させるため、クリック・オートパンの禁止
      var markerOpt = {
                          icon: myIcon
                         ,clickable: false
                         ,autoPan: false
                      };
      var marker = new GMarker(markerPos, markerOpt);
      return marker;
    }

    GEvent.addDomListener(window, "load", load);
    GEvent.addDomListener(window, "unload", GUnload);
  //]]>
  </script>
</head>
<body >
  <h1>例−34:ズームレベルに応じて画像を変更する</h1>
  <div id="map" style="width:600px;height:600px;">
</body>
</html>




サイト内検索
Google Maps APIプログラミングガイド

Google Maps API Expert 4人が共著で執筆。中級者向けに実用に役立つサンプルを中心に紹介! スマートフォン時代に合わせたGoogle Maps APIの使い方も掲載。
詳しくはこちら
Google 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に関連する幅広い内容の本を書きました。
このサイトで公開しているサンプルはもちろん、本のために作ったサンプルも満載です。
詳しくはこちら