Javascript Google Maps API FusionTablesLayer基于用户输入改变样式

Javascript Google Maps API FusionTablesLayer基于用户输入改变样式,javascript,css,google-maps,google-fusion-tables,Javascript,Css,Google Maps,Google Fusion Tables,这是我关于SO的第一个问题,如果我遗漏了什么,我表示歉意,但我已经搜索过了,还没有找到答案 我正在尝试使用融合表和地图API为英格兰地方当局级数据构建一个小型地图应用程序 该表有许多列,可以使用用户输入的权重将这些列组合成一个总分。这就是我希望地方当局能够绘制的总分。比如0.5*Col1+0.25*Col2+0.25*Col3,或者他们喜欢的任何东西。我可以很容易地将此信息显示在信息窗口中,如下所示: google.maps.event.addListener(layer, 'click', f

这是我关于SO的第一个问题,如果我遗漏了什么,我表示歉意,但我已经搜索过了,还没有找到答案

我正在尝试使用融合表和地图API为英格兰地方当局级数据构建一个小型地图应用程序

该表有许多列,可以使用用户输入的权重将这些列组合成一个总分。这就是我希望地方当局能够绘制的总分。比如0.5*Col1+0.25*Col2+0.25*Col3,或者他们喜欢的任何东西。我可以很容易地将此信息显示在信息窗口中,如下所示:

google.maps.event.addListener(layer, 'click', function(e) {
      infoWindow.setContent((e.row['Col1'].value*weight1 + e.row['Col2'].value*weight2  + weight3*e.row['Col3'].value ))
        ;
      infoWindow.setPosition(e.latLng);
      infoWindow.open(map);
    })
然而,我也希望能够颜色的地方当局多边形的梯度根据这个计算出的分数。我见过使用条件设置多边形颜色格式的技术:

样式:[{
其中:“'Col1'>200”,
多克隆选择:{
填充颜色:'#FFF000',
不透明度:1
}
}, 
{其中:“'Col1'<200”,
多克隆选择:{
填充颜色:'#FFFFFF',
不透明度:1
}
}
]
然而,我已经尝试过,但似乎无法在这里使用“weight1”等变量(可能是因为这是对融合表的请求,而不是在浏览器级别计算的内容)

我想知道的是,是否有人知道如何解决这个问题,能够根据用户输入动态组合列以影响样式?我想另一种方法是根据用户输入向Fusion表发送一列,然后将其回调并进行比较,但我也找不到如何做到这一点

非常感谢你的帮助


C

当“用户输入”真的是一个自由选择,而不是一组预定义的可能值时,我认为这是不可能的。我目前的解决方法是在请求中从表中提取几何体信息,然后为每个多边形创建一个单独的多边形,可以自定义颜色。我还将尝试添加一个透明的Fusion Tables层来为信息窗口供电。
styles: [{
  where: "'Col1' > 200",
  polygonOptions: {
      fillColor: '#FFF000',
      fillOpacity: 1
  }
  }, 

  {where: "'Col1'  < 200",
  polygonOptions: {
      fillColor: '#FFFFFF',
      fillOpacity: 1
  }
}
  ]