我正在使用JVectorMap显示带有彩色国家的地图。该地图还包括一个图例和一个onRegionTipShow。在我的应用程序中,可以更改映射所基于的值。完成此操作后,应更新地图,包括颜色、图例和tipShow。除了图例的更新之外,所有的工作都很正常。传说总是保持不变。
我只是不知道如何在更新地图之前重置图例。有人能给我提示一下各自的方法吗?
映射初始化:
$('#myMap').vectorMap({
map: 'world_mill',
backgroundColor: '#FFFFFF',
borderWidth: 1,
color: '#D9D9DB',
regionsSelectable: false,
markersSelectable: false,
zoomAnimate: true,
zoomButtons : true,
series: {
regions: [{
values: myData,
scale: ['#FFB777', '#054696'],
normalizeFunction: 'lineal',
min: jvm.min(myData),
max: jvm.max(myData),
legend: { vertical: true }
}]
},
onRegionTipShow: function(e, el, code){
if(myData[code]) label = myData[code].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ''');
else label = myData[code];
el.html(el.html()+' ('+ label +')');
},
regionStyle: {
initial: { fill: '#D9D9DB' },
selected: { fill: '#EE442B' },
hover: { 'fill-opacity': 1 }
},
});
var myMapObj = $('#myMap').vectorMap('get', 'mapObject');
myMapObj.updateSize();更新函数:
myMapObj.series.regions[0].clear();
myMapObj.series.regions[0].params.min = undefined;
myMapObj.series.regions[0].params.max = undefined;
myMapObj.series.regions[0].scale.minValue = undefined;
myMapObj.series.regions[0].scale.maxValue = undefined;
myMapObj.series.regions[0].setValues(myData);如您所见,在使用setValues方法更新myMap之前,我将几个方法设置为'undefined‘。我想也有一种重置图例的方法...
发布于 2020-11-30 10:17:19
嗨,我也有同样的问题,最终放弃了使用api。相反,我这样做了:
document.getElementsByClassName('jvectormap-legend-title')[0].innerHTML = '<div class="jvectormap-legend-title">' + legenda + '</div>';https://stackoverflow.com/questions/41378362
复制相似问题