【问题标题】: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 并传入地图对象的initialZoomLevelinitialZoomLongitudeinitialZoomLatitude。来自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>
      

      【讨论】:

        猜你喜欢
        • 2011-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-07
        • 2016-10-27
        相关资源
        最近更新 更多