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);
我有一个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);