地图图例自定义js显示值不对

page11test.zip

我地图的图例用的自定义js

function(){ 
    if(this.to < -0.2){
        return "-20%以下";
    }else if(this.to >= -0.2 && this.to < -0.1){
        return "-20%--10%";
    }else if(this.to >= -0.1 && this.to < 0){
        return "-10%-0%";
    }else if(this.to >= 0 && this.to < 0.1){
        return "0%-10%";
    }else if(this.to >= 0.1 && this.to < 0.2){
        return "10%-20%";
    }else if(this.to >= 0.2){
        return "20%以上";
    }
}

但是我的值是0.1的时候,图例显示却是20%以上,这个是什么原因image.png我这个图例好像都是乱的没有达到我想要的这个效果image.png

FineReport yzmfKZXQ1464691 发布于 5 小时前 (编辑于 4 小时前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户k6280494Lv6专家互助
发布于4 小时前(编辑于 4 小时前

alert(this.to) 打印一下值 看看

看你的值分部 就是20%以上2次 0%-10%两次 应该要去一下重才行

这个两个判断走多次

image.png

  • yzmfKZXQ1464691 yzmfKZXQ1464691(提问者) 我打印了一下没看出啥问题,我传了个模板
    2025-09-03 17:57 
  • 用户k6280494 用户k6280494 回复 yzmfKZXQ1464691(提问者) 看你的值分部 就是20%以上2次 0%-10%两次 应该要去一下重才行
    2025-09-03 17:59 
最佳回答
0
华莉星宸Lv7专家互助
发布于3 小时前

你的判断错了

function(){
  // 添加精度处理,避免浮点数比较问题
  var value = Math.round(this.from * 1000) / 1000; // 保留3位小数避免精度问题
  if(value < -0.2){
    return "-20%以下";
  }else if(value < -0.1){ // 已确定value >= -0.2
    return "-20%--10%";
  }else if(value < 0){ // 已确定value >= -0.1
    return "-10%-0%";
  }else if(value < 0.1){ // 已确定value >= 0
    return "0%-10%";
  }else if(value < 0.2){ // 已确定value >= 0.1
    return "10%-20%";
  }else{ // value >= 0.2
    return "20%以上";
  }
}

效果

image.png

  • 3关注人数
  • 27浏览人数
  • 最后回答于:3 小时前
    请选择关闭问题的原因
    确定 取消
    返回顶部