Javascript 使用D3和Datamaps进行地图缩放

Javascript 使用D3和Datamaps进行地图缩放,javascript,d3.js,datamaps,Javascript,D3.js,Datamaps,我需要你的帮助。 我正在使用,我想实现一个国家的缩放。我可以找到大量的例子来说明如何实现这一点,但不同的是,我希望能够通过一个外部按钮来实现这一点 比如说,在渲染贴图的之外,我有一个按钮:。 如何使用这些值进行缩放?我知道datamaps使用这些短名称(AUS=australia)来表示名称。如果是这样做的话,我还可以提供long lat坐标 有人能帮我解决这个问题吗?我对D3和datamaps还比较陌生。一种方法是,您可以使用translate scale转换并缩放到您选择的区域,如下所示 f

我需要你的帮助。 我正在使用,我想实现一个国家的缩放。我可以找到大量的例子来说明如何实现这一点,但不同的是,我希望能够通过一个外部按钮来实现这一点

比如说,在渲染贴图的
之外,我有一个按钮:
。 如何使用这些值进行缩放?我知道datamaps使用这些短名称(AUS=australia)来表示名称。如果是这样做的话,我还可以提供
long lat
坐标


有人能帮我解决这个问题吗?我对D3和datamaps还比较陌生。

一种方法是,您可以使用
translate scale
转换并缩放到您选择的区域,如下所示

function gotoAustralia(){
  map.svg.selectAll(".datamaps-subunits").transition().duration(750).attr("transform", "scale(1.5)translate(-400,-100)");
}
function gotoSouthAmerica(){
  map.svg.selectAll(".datamaps-subunits").transition().duration(750).attr("transform", "scale(1.5)translate(-50,-300)");
}
function reset(){
  map.svg.selectAll(".datamaps-subunits").transition().duration(750).attr("transform", "");
}

工作代码

非常感谢!我正在寻找一个更具活力的解决方案,但这足以让我走上正轨。谢谢