首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JVectorMap:更新图例

JVectorMap:更新图例
EN

Stack Overflow用户
提问于 2016-12-29 19:01:16
回答 1查看 782关注 0票数 4

我正在使用JVectorMap显示带有彩色国家的地图。该地图还包括一个图例和一个onRegionTipShow。在我的应用程序中,可以更改映射所基于的值。完成此操作后,应更新地图,包括颜色、图例和tipShow。除了图例的更新之外,所有的工作都很正常。传说总是保持不变。

我只是不知道如何在更新地图之前重置图例。有人能给我提示一下各自的方法吗?

映射初始化:

代码语言:javascript
运行
复制
$('#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();

更新函数:

代码语言:javascript
运行
复制
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‘。我想也有一种重置图例的方法...

EN

回答 1

Stack Overflow用户

发布于 2020-11-30 10:17:19

嗨,我也有同样的问题,最终放弃了使用api。相反,我这样做了:

代码语言:javascript
运行
复制
document.getElementsByClassName('jvectormap-legend-title')[0].innerHTML = '<div class="jvectormap-legend-title">' + legenda + '</div>';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41378362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档