You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Highmap开发:点击按钮如何获取选中点的name属性?

解决Highmap获取选中区域名称的问题

嘿,我来帮你搞定这个问题!你现在的代码能拿到选中点的数量,说明getSelectedPoints()已经正常工作了——它返回的是一个Point对象的数组,而不是单个Point实例,这就是你直接用selectedPoints.Point.name无效的原因。

正确的做法是遍历这个数组,访问每个Point对象的name属性

下面是修改后的完整代码,你可以直接用:

$('#calculate-scenario').on('click', function() {
  var chart = $('#ti_map_tp').highcharts();
  var selectedPoints = chart.getSelectedPoints();
  
  // 把所有选中区域的名称收集到数组里
  var selectedAreaNames = selectedPoints.map(function(point) {
    return point.name;
  });
  
  // 用alert展示结果,也可以换成控制台打印方便调试
  alert('当前选中的区域:' + selectedAreaNames.join('、'));
  
  // 如果需要逐个处理选中的区域,也可以用forEach遍历
  selectedPoints.forEach(function(point) {
    console.log('单个选中区域名称:', point.name);
    // 这里还能访问Point的其他属性,比如point.value等
  });
});

为什么之前的写法不对?

selectedPoints是一个数组,它本身没有Point这个属性——数组里的每一项才是Highmaps的Point实例,所以你要么通过索引(比如selectedPoints[0].name)获取单个点的名称,要么用map/forEach遍历数组处理所有选中的点。

如果想查看Point对象的所有可用属性,也可以直接在控制台打印selectedPoints,就能看到里面包含的name、value等所有字段啦。

内容的提问来源于stack exchange,提问作者dexter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:17:49