2

有谁知道如何点击一个国家,然后在 2D 地理世界地图中放大该国家/地区?

我正在使用 eCharts 3 中提供的世界 2D 地图。所以我的选项如下所示:

geo: {
      name: '2D Global Map',
      type: 'map',
      map: 'world',
      roam: true,
      label: {
          emphasis: {
              show: false
          }
      },
...

这是我到目前为止所拥有的。当我点击它时,它会直接放大到 4 而不是我点击的地方。

myChart.on('click', function (params) {
  myChart.setOption({
    geo: {
        zoom: 4
      }
  });
});
    myChart.setOption(option);

我试图找到放大 x 和 y 偏移的方法,但这不起作用。

我也尝试像这样首先将地图居中,但您需要将地图居中位置的纬度和经度在数组内。地图使用 JSON 作为坐标,我可以看到它们,但我无法让它们拉入数组。

myChart.on('click', function (params) {
  myChart.setOption({
    geo: {
        center: [(need to get lat/long of where clicked)],
        zoom: 4
      }
  });
});
    myChart.setOption(option);

关于如何做到这一点的任何想法?

4

1 回答 1

0

以防万一其他人遇到同样的问题,我能够以这种方式解决它:

myChart.on('click', function(params) {
            if (params.data) {
                myChart.setOption({
                    geo: {
                        center: params.data.value,
                        zoom: 6
                    }
                });
              } else {
                myChart.setOption({
                    geo: {
                        center: [0,0],
                        zoom: 1
                    }
                });
              }
            myChart.setOption(option);
        });

它并没有完全解决我想要放大任何国家的问题,但它确实解决了我可以放大一个国家内部的数据点的问题。

如果其他人对如何做国家部分有建议,请告诉我。

于 2017-12-04T21:27:04.660 回答