2013-08-20 39 views
1

我正試圖實現可視化地圖API,以下鏈接https://developers.google.com/chart/interactive/docs/gallery/map如何在谷歌可視化地圖api中設置zoomLevel?

我成功在谷歌地圖上繪製點,但無法設置縮放級別。 對於單點,縮放級別自動設置爲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)但它不工作。

回答

5

定義在google.visualization.Map縮放級別的屬性的名稱的地圖不是zoom

這就是所謂的zoomLevel(有趣的是,你的問題的標題包含正確答案^^)


但是,好奇的是,可視化API不提供訪問底層google.maps.Map -instance的方法。

您可以添加這樣的方法(在您自己的風險),這增加了的onload回調:

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

你現在可以通過調用google.visualization.Map -instance的方法getMap訪問google.maps.Map -instance 。

例子:

map.getMap().setZoom(12); 
+0

謝謝,我在google.visualization.Map中獲得了您的觀點。縮放並不是必需的屬性。正如你所建議的,我改變了zoomLevel的縮放工作。 – Nullify

0

這是因爲根據您提供的文檔頁面,地圖對象沒有setZoom方法。

你或許可以嘗試重新劃分使用使用draw方法這樣

 
var newZoom = 12; 
map.draw(data, {showTip: true, zoom:newZoom, mapType: 'normal', useMapTypeControl:true, enableScrollWheel:false}); 
+0

它不工作。 – Nullify

+0

它是第一次繪製地圖嗎? – woofmeow

+0

其繪製地圖,但變焦並沒有改變 – Nullify