amCharts - amMap主页按钮方法

时间:2016-09-13 22:07:25

标签: javascript charts amcharts ammap

我正在通过amCharts http://docs.amcharts.com/3/javascriptmaps/AmMap创建一个amMap,它带有自己的主页按钮,您可以单击该按钮并恢复为地图默认值。

我想通过我自己的按钮在外部执行此操作,但无法找到amCharts用于实现此目的的方法。

我使用的一些方法是: chart.zoomTo(),chart.zoomToLongLat(),chart.zoomToXY()使用初始化图表时的正确值。当图表没有调整大小时,这可以正常工作,但是当图表调整大小(没有重新初始化)时,这些值变得不可靠,但主页按钮仍然可以让我回到默认缩放。

此主页按钮使用的方法是什么?或者我可以用来复制主页按钮的功能?

2 个答案:

答案 0 :(得分:1)

您需要致电for (i in 1:nrow(dat)) { x <- dat[i]$MinID if (is.na(dat[i]$MinID)) { dat[i, FinalID := e] } else if (is.na(dat[x]$MinID)) { dat[i, FinalID := MinID] } else dat[i, FinalID := dat[x]$MinID] }并传递地图对象的zoomToLongLatinitialZoomLevelinitialZoomLongitude。从demo on AmChart's knowledge base的自定义外部主页按钮:

initialZoomLatitude

您可以在codepen演示中调整帧的大小,以确保每次都能正确重置。

答案 1 :(得分:1)

是的..很简单,

我是这样做的:

map.addListener("rendered", function(event) {
      var map = event.chart;
      map.initialZoomLevel = map.zoomLevel();
      map.initialZoomLatitude = map.zoomLatitude();
      map.initialZoomLongitude = map.zoomLongitude();
});

function centerMap() {
  map.zoomToLongLat(map.initialZoomLevel, map.initialZoomLongitude, map.initialZoomLatitude);
}

<div onclick="centerMap();" class="icon-home"></div>