【问题标题】:amCharts - amMap Home Button MethodamCharts - amMap 主页按钮方法
【发布时间】:2016-09-13 22:07:25
【问题描述】:
我正在通过 amCharts http://docs.amcharts.com/3/javascriptmaps/AmMap 创建一个 amMap,它带有自己的主页按钮,您可以单击该按钮并恢复为默认地图。
我想通过我自己的按钮在外部执行此操作,但找不到 amCharts 用于实现此操作的方法。
我使用的一些方法是:
chart.zoomTo()、chart.zoomToLongLat()、chart.zoomToXY() 使用图表初始化时的正确值。当图表从未调整大小时,这很好用,但是当图表调整大小(未重新初始化)时,这些值变得不可靠,但主页按钮仍然能够让我回到默认缩放。
这个主页按钮使用什么方法?或者我可以用来复制主页按钮的作用?
【问题讨论】:
标签:
javascript
charts
amcharts
ammap
【解决方案1】:
您需要调用zoomToLongLat 并传入地图对象的initialZoomLevel、initialZoomLongitude 和initialZoomLatitude。来自demo on AmChart's knowledge base 的自定义外部主页按钮:
function centerMap() {
map.zoomToLongLat(map.initialZoomLevel, map.initialZoomLongitude, map.initialZoomLatitude);
}
您可以在 codepen 演示中调整框架的大小,以查看它每次都能正确重置。
【解决方案2】:
是的..很简单,
我是这样做的:
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>