amCharts - домашний метод amMap
Я создаю amMap через amCharts http://docs.amcharts.com/3/javascriptmaps/AmMap и он поставляется с собственной кнопкой "Домой", которую можно нажать и вернуться к карте по умолчанию.
Я хотел бы сделать это внешне через свою кнопку, но не могу найти методы, которые amCharts использует для достижения этой цели.
Я использовал несколько методов: chart.zoomTo(), chart.zoomToLongLat(), chart.zoomToXY(), используя правильные значения времени инициализации диаграммы. Это прекрасно работает, когда размер диаграммы никогда не изменяется, но когда размер диаграммы изменяется (не переинициализируется), эти значения становятся ненадежными, но кнопка "Домой" все еще может вернуть меня к стандартному масштабированию.
Какой метод использует эта кнопка домой? Или я могу использовать, чтобы повторить, что делает кнопка домой?
2 ответа
Вам нужно позвонить zoomToLongLat
и передать в вашей карте объекта initialZoomLevel
, initialZoomLongitude
а также initialZoomLatitude
, Из демоверсии базы знаний AmChart о ее собственной внешней кнопке "Домой":
function centerMap() {
map.zoomToLongLat(map.initialZoomLevel, map.initialZoomLongitude, map.initialZoomLatitude);
}
Вы можете изменить размер фрейма в демонстрационном коде, чтобы убедиться, что он каждый раз корректно сбрасывает себя.
Да.. это очень просто,
Я сделал это так:
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>