Javascript AMChars,使用外部按钮缩放到某些国家/地区

Javascript AMChars,使用外部按钮缩放到某些国家/地区,javascript,zooming,amcharts,external-links,Javascript,Zooming,Amcharts,External Links,好的,我在AMCharts中有这个地图,我有一些外部按钮,其中包含特定国家的ID、LAT和Long,当我将鼠标悬停在这些按钮上时,我想让地图缩放并居中到那个国家,下面是代码示例 正如你所看到的,我已经硬编码了每个国家的坐标,以及缩放级别,但是缩放不能正常工作,尤其是对我们 我还想知道是否有办法获得每个国家的LAT和Long,这样我就不会硬编码它们了 AMCharts中有一个名为“zoomToSelectedObject”的函数,但我尝试了这个函数,但没有成功地将对象赋予它。您可以尝试AMCha

好的,我在AMCharts中有这个地图,我有一些外部按钮,其中包含特定国家的ID、LAT和Long,当我将鼠标悬停在这些按钮上时,我想让地图缩放并居中到那个国家,下面是代码示例

正如你所看到的,我已经硬编码了每个国家的坐标,以及缩放级别,但是缩放不能正常工作,尤其是对我们

我还想知道是否有办法获得每个国家的LAT和Long,这样我就不会硬编码它们了


AMCharts中有一个名为“zoomToSelectedObject”的函数,但我尝试了这个函数,但没有成功地将对象赋予它。

您可以尝试AMCharts的
selectObject
方法。它的默认功能是缩放到提供的贴图对象(使用
getObjectById
已经获得的对象)。示例:

$("button.country").mouseenter(function(event) {

  event.stopPropagation();
  var countryID = $(this).data("id");
  var country = map.getObjectById(countryID);
  map.selectObject(country);

}).mouseleave( ... );
只需确保在
区域设置中添加
“可选”:true
。没有它,selectObject方法将无法工作


amCharts地图有很好的文档,你可以在这里找到:。

这很好,我已经看完了文档,但没有注意到这种方法,谢谢你。有什么方法可以在选择国家时控制缩放级别吗?我不希望它在选择小国时缩放那么大。如果我在d中没有id字段,我该怎么做我有lat、long、name等
$("button.country").mouseenter(function(event) {

  event.stopPropagation();
  var countryID = $(this).data("id");
  var country = map.getObjectById(countryID);
  map.selectObject(country);

}).mouseleave( ... );