样式融合表层多边形

时间:2013-03-28 04:11:09

标签: css google-fusion-tables layer

我有一个包含5个种群(列)的融合表,对于每个我想要显示具有不同颜色的最高人口密度的多边形。

在为样式化融合表图层的示例中,定义了“polygonOptions”,但我不希望多边形具有任何样式,除非其中一个人口集中,并且因为这将需要1个样式从5的限制。

我不确定要更改什么或者我缺少什么才能正确显示这些样式。

我的地图:http://seflculturemap.com/miami-test.html

1 个答案:

答案 0 :(得分:0)

你遇到的第一个问题是列名,当它们包含空格时,你必须在查询中用单引号将它们包装起来。

另一个问题(您需要应用6种样式,但限制为5)。您也可以直接为地图创建样式,因此您可以创建一个虚拟样式,将所有多边形的不透明度设置为0.

要应用此样式,请使用样式的ID,并将options-parameter传递给Layer。我已为您的地图创建了这样的虚拟样式,它具有ID 4

现在,图层创建应如下所示: var layer1 = new google.maps.FusionTablesLayer({

  query: {
    select: 'geometry',
    from:   '1PM3_L795Eus1HXCylF6UM0tLqXarnkNZeB_LmM8'

  },
  options: {
        styleId: 4
      },
  styles: [
     {
        where: "'Puerto Rican Population' > 500",
    polygonOptions: {
     fillColor: "#46A2D1", //blue
     fillOpacity: 0.7}  
     },
   {
        where: "'Cuban Population' > 500",
    polygonOptions: {
     fillColor: "#F29400", //orange
     fillOpacity: 0.7 }   
     }, 
     {
        where: "'Bahaman Population' > 100",
    polygonOptions: {
     fillColor: "#BAC200", //yellow
     fillOpacity: 0.7}  
     },  
     {
        where: "'Dominican Population' >200",
    polygonOptions: {
     fillColor: "#E068A0", //pink
     fillOpacity: 0.7 }   
     },
     {
        where: "'Haitian Population' > 500",
    polygonOptions: {
     fillColor: "#66A919", //green
     fillOpactity: 0.7}
   }
    ]
});

测试:http://jsfiddle.net/doktormolle/8mZuB/


与评论相关:

您使用的是错误的列名。

http://www.seflculturemap.com/maps/central-american-populations.html

'Nicaraguan' -> 'Nicaraguan Population'

http://www.seflculturemap.com/maps/south-american-populations.html

'Venezuelan Population'  ->'Venzuelan Population
'Peruvian'               ->'Peruvian Population'
'Argentinian Population' ->'Argentinean Population'