ズームレベルを変更出来る範囲を設定する

Google Maps API v2でズームレベルの範囲を制限するには、GMapType.getMinimumResolution()とgetMaximumResolution()をオーバーライドすることで可能でした。
参照:ズームコントローラのズーム範囲を制限する(Google Maps API v2)

Google Maps API v3では、MapType.maxZoom と MapType.minZoom に設定するだけで可能です。Map.mapTypes()でMapTypeRegistryが取得できます。
ドキュメントには、「This class extends MVCObject.(このクラスはMVCObjectを継承しています)」とあるので、説明書きはありませんがget()メソッドがありそうです。 というところで、試してみたら、ちゃんとMapTypeを返してくれました。 あとはこのMapTypeに対して、MapType.maxZoom と MapType.minZoom を設定することでズームレベルを変更することが可能になります。

具体的な方法は下記の通りです。

<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://maps.google.co.jp/maps/api/js?sensor=false&hl=ja"></script>
<script type="text/javascript">
  function initialize() {
    var initPos = new google.maps.LatLng(35.127152, 138.910627);
    var myOptions = {
      navigationControl : true,
      center : initPos,
      zoom : 5,
	  disableDefaultUI : false,
      mapTypeId : google.maps.MapTypeId.ROADMAP
    };
    var map_canvas = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    
	//マップタイプが設定(変更)されたのを見計らって、ズームレベルの変更を行う
  	google.maps.event.addDomListener(map_canvas, "maptypeid_changed", function(){
		//マップタイプIDを管理するレジストリを取得
		var mapTypeRegistry = map_canvas.mapTypes;
		
		//現在のマップタイプIDを取得
		var currentMapTypeId = map_canvas.getMapTypeId();
		
		//レジストリから現在のマップタイプIDのMapTypeを取得する
		var mapType = mapTypeRegistry.get(currentMapTypeId);
		
		//ズームレベルを設定する
		mapType.maxZoom = 15;
		mapType.minZoom = 10;
	});
  }
  window.onload = initialize;

</script>
</head>
<body >
  <div id="map_canvas" style="width:100%; height:500px"></div>
</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