jVectorMap 无法检索地图对象

jVectorMap not able to retrieve map object

我有一个jQuery矢量图,定义如下:

<div id="worldMap" style="width:800px;height:550px"></div>

在 JS onReady 函数中:

$('#worldMap').vectorMap({
  map: 'world_en',
  backgroundColor: '#a5bfdd',
  color: '#f4f3f0',
  hoverColor: '#0000ff',
  hoverOpacity: null,
  selectedColor: '#666666',                
  attribute: 'fill',
  enableZoom: true,
  showTooltip: true, 
  values: sample_data,                 
  scaleColors: ['#ffffff', '#a00000'],
  normalizeFunction: 'polynomial',             
  onRegionClick: function(element,code,region) {
    displayInfo(code,region);    
  }
});

我设置了一个定时器,每五分钟更新一次地图数据。它调用的函数是:

function updateMap() {         
  $.getJSON('docs/testdata.json',function(data) {
    var map=$("#worldMap").vectorMap('get','mapObject');
    map.series.region[0].setValues(data);
  });
}

地图在浏览器中正确显示所有数据点。调用 updateMap() 时会出现问题。它无法获得 mapObject(它始终是 undefined)。认为这是某种时间问题,我将 var map=$(... 行移动到地图 onready 初始化中的定义之后,MAP 仍然是 undefined.

我有同样的问题

我用那个解决了:

map = new jvm.Map({
    container: jQuery('#world-map'),
    map: "map",
    regionsSelectable: true,
    regionsSelectableOne: true,
    backgroundColor: 'transparent',
    zoomMax: 1,
    zoomMin: 1,
    zoomOnScroll: false
});
map.clearSelectedRegions();

另外,试试:

var obj = $('#world-map .jvectormap-container').data('mapObject');

然后:

obj.series.region[0].setValues(data);