我正在通过amCharts http://docs.amcharts.com/3/javascriptmaps/AmMap创建一个amMap,它有自己的home按钮,您可以单击并恢复到地图默认值。
我想通过我自己的按钮在外部做到这一点,但不能找到amCharts用来实现这一点的方法。
我使用的一些方法是:chart. zoomto (), chart. zoomtolonglat (), chart. zoomtoxy()使用图表初始化时的正确值。当图表没有调整大小时,这种方法可以很好地工作,但是当图表调整大小(没有重新初始化)时,这些值变得不可靠,但是home按钮仍然能够将我带回到默认缩放。
这个home键使用了什么方法?或者我可以用它来复制home键的功能?
您需要调用zoomToLongLat
并传入您的地图对象的initialZoomLevel
, initialZoomLongitude
和initialZoomLatitude
。来自AmChart的自定义外部home键知识库的演示:
function centerMap() {
map.zoomToLongLat(map.initialZoomLevel, map.initialZoomLongitude, map.initialZoomLatitude);
}
你可以在codependency演示中调整框架的大小,以确保每次都能正确地重置。
是…很简单,
我是这样做的:
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>