我正在使用JVectorMap插件并已成功创建drill-down映射。
我的问题是,是否可以在页面其他位置的地图外部触发向下钻取功能,即单击链接或按钮。
JVectorMap的文档并不是最好的,所以任何帮助都会非常感谢!

最佳答案

假设您已经正确初始化了jVectorMap向下钻取映射:

var drillDownUSMap;

$(document).ready(function () {
  drillDownUSMap= new jvm.MultiMap({
    container: $('#map'),
    maxLevel: 1,
    main: {
    map: 'us_lcc',
    regionsSelectable: true,
    regionStyle: {
        selected: {
            fill: 'green'
            }
        },
    },
    mapUrlByCode: function(code, multiMap){
      var path = 'maps/us-counties/',
          county = code.toLowerCase(),
          proj = multiMap.defaultProjection,
          mapData = 'jquery-jvectormap-data-' + county + '-' + proj + '-en.js';
      return path + mapData;
    }
  });
});

(IMHO I将存储对返回映射对象的引用)然后,按如下方式使用它:
function drillDownUSMapTo(code) {
  var mapData = drillDownUSMap.params.mapNameByCode(code, drillDownUSMap);
  drillDownUSMap.drillDown(mapData, code);
}

... 因此,你应该已经有一些按钮可以点击,正如你在问题中所说:
onclick="drillDownUSMapTo('US-TX');"

顺便说一句,感谢伟大的jVectorMap。

关于javascript - 使用链接或按钮触发JVectorMap向下钻取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49261476/

10-09 21:48