1

我正在尝试实现可视化地图 api,遵循此链接https://developers.google.com/chart/interactive/docs/gallery/map

我成功地在谷歌地图上绘制了点,但无法设置缩放级别。对于单点缩放级别自动设置为 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];
  }
}

您现在可以google.maps.Map通过调用-instance 的方法getMap来访问google.visualization.Map-instance。

例子:

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 回答