Jvectormap 在 AJAX 加载中从地图中清除以前的数据

Jvectormap clear previous data from map in AJAX load

我正在使用 jvectormap,我注意到地图数据实际上是在每次调用时累积的。例如,如果有 1 个来自西班牙,而在下一次加载时有 1 个来自意大利,则在第二次地图加载时它显示 1 个西班牙和 1 个意大利,依此类推。

var singlemap = $('#singleMap').vectorMap({
    map: 'world_en',
    backgroundColor: null,
    color: '#eaeaea',
    hoverOpacity: 0.7,
    //selectedColor: '#666666',
    enableZoom: false,
    showTooltip: true,
    values: {

    },
    scaleColors: ['#6FC6EA', '#0A4D70'],
    normalizeFunction: 'polynomial'
});

我正在使用下面的 setValues 重新加载数据,如何在显示新数据之前清除地图中的数据?

singlemap.setValues(mapstringJSON);

我找到了解决方案,在每个设置值上我清空 div 中的 html 并将 singlemap 设置为 null,然后在设置值之前再次初始化地图。

$('#singleMap').empty();
singlemap = null;
singlemap = $('#singleMap').vectorMap({
  map: 'world_en',
  backgroundColor: null,
  color: '#eaeaea',
  hoverOpacity: 0.7,
  enableZoom: false,
  showTooltip: true,
  values: {},
  scaleColors: ['#6FC6EA', '#0A4D70'],
  normalizeFunction: 'polynomial'
});
singlemap.setValues(mapstringJSON);