如何在谷歌可视化地图api中设置zoomLevel

How to set zoomLevel in google Visualization Map api?

本文关键字:api 设置 zoomLevel 地图 可视化 谷歌      更新时间:2023-09-26

我正在尝试实现可视化地图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),但不起作用。

定义google.visualization.Map中缩放级别的属性的名称不是zoom

它被称为zoomLevel(有趣的是,问题的标题包含正确答案^^)


然而,令人好奇的是,可视化-API没有提供访问底层google.maps.Map-实例的方法。

您可以添加这样的方法(风险自负),将其添加到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-实例的方法getMap来访问google.maps.Map-实例。

示例:

map.getMap().setZoom(12);

这是因为根据您给出的文档页面,映射对象没有setZoom方法。

您可能可以尝试使用draw方法重新绘制地图,如

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