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

Google Maps Fusion Table API多字段比较与多边形着色问题

解决Fusion Tables多边形按列数值比较上色的问题

嘿,我来帮你搞定这个Fusion Tables图层的颜色规则问题!你要实现的是当某一列数值大于另外两列时,对应多边形显示不同颜色,这个可以通过FusionTablesLayer的条件样式来实现,具体思路和代码示例如下:

核心思路

我们需要在styles数组中为每一种“某列数值领先”的情况单独设置样式规则,通过where参数指定判断条件,Fusion Tables会自动匹配符合条件的多边形并应用对应的样式。

完整代码示例

替换你原来的styles部分,用下面的配置就能实现需求:

layer = new google.maps.FusionTablesLayer({
  query: {
    select: 'geometry',
    from: tableId
  },
  templateId: 2,
  styles: [
    // 当MURATURAPORTANTE大于另外两列时,用红色填充
    {
      where: "MURATURAPORTANTE > CALCESTRUZZOARMATO AND MURATURAPORTANTE > ALTROMATERIALE",
      polygonOptions: {
        fillColor: '#FF0000',
        fillOpacity: 0.7,
        strokeColor: '#000000',
        strokeWeight: 1
      }
    },
    // 当CALCESTRUZZOARMATO大于另外两列时,用绿色填充
    {
      where: "CALCESTRUZZOARMATO > MURATURAPORTANTE AND CALCESTRUZZOARMATO > ALTROMATERIALE",
      polygonOptions: {
        fillColor: '#00FF00',
        fillOpacity: 0.7,
        strokeColor: '#000000',
        strokeWeight: 1
      }
    },
    // 当ALTROMATERIALE大于另外两列时,用蓝色填充
    {
      where: "ALTROMATERIALE > MURATURAPORTANTE AND ALTROMATERIALE > CALCESTRUZZOARMATO",
      polygonOptions: {
        fillColor: '#0000FF',
        fillOpacity: 0.7,
        strokeColor: '#000000',
        strokeWeight: 1
      }
    },
    // 处理并列或无领先列的情况(默认样式,比如灰色)
    {
      polygonOptions: {
        fillColor: '#CCCCCC',
        fillOpacity: 0.5,
        strokeColor: '#000000',
        strokeWeight: 1
      }
    }
  ]
});

关键注意事项

  • 列名匹配:where条件里的列名必须和你的Fusion Table中的列名完全一致,包括大小写,否则条件会不生效。
  • 样式顺序:Fusion Tables会从上到下依次匹配样式规则,所以要把具体的条件规则放在前面,默认样式放在最后。
  • 并列情况处理:如果存在两列数值相等且都大于第三列,或者三列数值都相等的情况,上面的前三个条件都不会匹配,会自动使用最后的默认样式。如果你想给并列情况单独设置颜色,可以在默认样式前添加额外的规则,比如:
    // 处理MURATURAPORTANTE和CALCESTRUZZOARMATO并列领先的情况
    {
      where: "MURATURAPORTANTE = CALCESTRUZZOARMATO AND MURATURAPORTANTE > ALTROMATERIALE",
      polygonOptions: {
        fillColor: '#FFFF00', // 黄色
        fillOpacity: 0.7,
        strokeColor: '#000000',
        strokeWeight: 1
      }
    }
    
  • 颜色自定义:你可以根据需求替换fillColor的值,支持十六进制、RGB、RGBA或标准颜色名称。

内容的提问来源于stack exchange,提问作者Andrea G.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:14:38