2012-09-17 9 views
23
function displayMapAndClick() 
    { 
     var latlng = new google.maps.LatLng (29.0167, 77.3833); 
     var myOptions = 
     { 
      zoom:zm, 
      center:latlng, 
      mapTypeId:google.maps.MapTypeId.ROADMAP 
     }; 

     map = new google.maps.Map (document.getElementById ("map"), myOptions); 
     directionsDisplay.setMap (map); 
    } 

ここで、zmは、デフォルト値7に設定されたグローバル変数です。プログラムでGoogleマップのズームレベルを変更するにはどうすればよいですか?

ここでは、このプログラムを使ってこの地図のズームレベルを変更したいと考えています。

地図を再初期化せずにこれを行う方法は何ですか?

ORは強制的に再初期化ですか?

答えて

45

google.maps.MapクラスのsetZoom()メソッドを使用してください。

var mapOptions = { 
    /* Initial zoom level */ 
    zoom: 8 
    ... 
}; 
map = new google.maps.Map(..., mapOptions); 
/* Change zoom level to 12 */ 
map.setZoom(12); 
10

マイREPが..返信するには低すぎるが、Alexanders' sollutionにさらにコメント:)私は同じ問題を抱えていたが、理由は時々map.setZoom(上記のすべてのブラウザで私のために動作しませんでしたマップの読み込みが完了する前に実行されます。

このような関数をラップすると、それは常に働くようになります:

... 
map = new google.maps.Map(..., mapOptions); 
/* Change zoom level to 12 */ 
google.maps.event.addListenerOnce(map, 'bounds_changed', function() { 
    map.setZoom(12); 
}); 
+0

ラッピングをイベントリスナーに@publicJornが私のために働いたものだったと説明しました。 – CIRCLE

+0

@ publicJornのソリューションも私のために働いてくれてありがとう - ありがとう! – lookdad

関連する問題