1

このリンクhttps://developers.google.com/chart/interactive/docs/gallery/mapに従って、視覚化マップ API を実装しようとしています。

Googleマップでポイントを正常に描画していますが、ズームレベルを設定できません。シングルポイントの場合、ズームレベルは自動で 19 (最大レベル) に設定されます。

私のコード:-

var map = new google.visualization.Map(document.getElementById('map_div'));

map.draw(data, {showTip: true, zoom:14,  mapType: 'normal', useMapTypeControl:true, enableScrollWheel:false});

私はこれを試しましmap.setZoom(12)たが、うまくいきません。

4

2 に答える 2

5

ズーム レベルを定義するプロパティの名前は でgoogle.visualization.Mapはありませんzoom

それは呼ばれzoomLevelます(面白い、あなたの質問のタイトルには正解が含まれています^^)


ただし、視覚化 API が基になるインスタンスにアクセスする方法を提供していないのは興味深いことgoogle.maps.Mapです。

そのようなメソッドを (自己責任で) 追加できます。これを onload-callback に追加します。

google.visualization.Map.prototype.getMap=function(){
  for(var k in this){
   if(this[k].constructor==google.maps.Map)return this[k];
  }
}

-instance のメソッドをgoogle.maps.Map呼び出すことで -instance にアクセスできるようになりました。getMapgoogle.visualization.Map

例:

map.getMap().setZoom(12);
于 2013-08-20T14:26:17.703 に答える
0

これは、setZoom指定したドキュメント ページによると、マップ オブジェクトにメソッドがないためです。

drawおそらく、このような方法を使用してマップを再描画してみることができます

var newZoom = 12;
map.draw(data, {showTip: true, zoom:newZoom, mapType: 'normal', useMapTypeControl:true, enableScrollWheel:false});
于 2013-08-20T11:04:26.047 に答える