2013-08-20 36 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