我正在通过amCharts http://docs.amcharts.com/3/javascriptmaps/AmMap创建一个amMap,它带有自己的主页按钮,您可以单击该按钮并恢复为地图默认值。
我想通过我自己的按钮在外部执行此操作,但无法找到amCharts用于实现此目的的方法。
我使用的一些方法是: chart.zoomTo(),chart.zoomToLongLat(),chart.zoomToXY()使用初始化图表时的正确值。当图表没有调整大小时,这可以正常工作,但是当图表调整大小(没有重新初始化)时,这些值变得不可靠,但主页按钮仍然可以让我回到默认缩放。
此主页按钮使用的方法是什么?或者我可以用来复制主页按钮的功能?
答案 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]
}
并传递地图对象的zoomToLongLat
,initialZoomLevel
和initialZoomLongitude
。从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>