google fusion table-无法在5种颜色后为地图中的图层着色

时间:2012-08-01 02:56:48

标签: google-maps google-maps-api-3 google-fusion-tables

我根据不同的条件在一个图层中使用不同的颜色着色国家多边形。但在五个“何处”条件之后,它没有检测到相关的颜色。但使用默认颜色。为什么会这样? 以下是我的代码:

      layer.setOptions({
        query: {
          select: 'masterNarrative, countryName',
          from: tableId,
          where: where
        },
        styles: [{
            where: "masterNarrative= '72 virgins (houris)' ",
            polygonOptions: {
              fillColor: '#2daebf',
              fillOpacity: 0.5
            }
          },
          {
              where: "masterNarrative= 'Badr' ",
              polygonOptions: {
                fillColor: '#e33100',
                fillOpacity: 0.5
              }
            },
            {
                where: "masterNarrative= 'Crusaders/Colonization' ",
                polygonOptions: {
                  fillColor: '#a9014b',
                  fillOpacity: 0.5
                }
              },
              {
                  where: "masterNarrative= 'Nakba (Palestine)' ",
                  polygonOptions: {
                    fillColor: '#871F78',
                    fillOpacity: 0.5
                  }
                },
                {
                    where: "masterNarrative= 'Hypocrites (Munafiqun)' ",
                    polygonOptions: {
                      fillColor: '#ff5c00',
                      fillOpacity: 0.5
                    }
                  },
                  {
                      where: "masterNarrative= 'Mahdi' ",
                      polygonOptions: {
                        fillColor: '#ffb515',
                        fillOpacity: 0.5
                      }
                    },
                    {
                        where: "masterNarrative= 'Musaylimah' ",
                        polygonOptions: {
                          fillColor: '#34925E',
                          fillOpacity: 0.5
                        }
                      },
                        {
                            where: "masterNarrative= 'Pharaoh' ",
                            polygonOptions: {
                              fillColor: '#E066FF',
                              fillOpacity: 0.5
                            }
                          },
                          {
                              where: "masterNarrative= 'Puppet Master' ",
                              polygonOptions: {
                                fillColor: '#00FF00',
                                fillOpacity: 0.5
                              }
                            }]
      });

2 个答案:

答案 0 :(得分:2)

如FusionTablesLayer的限制所述:您可以使用Maps API将最多五个Fusion Tables图层添加到地图中,其中一个可以使用最多五个样式规则进行样式设置。

避免在每个“masterNarrative”列中使用五种样式规则设置颜色的一种方法是使用Fusion Tables UI设置颜色,而不是通过FusionTablesLayer在javascript中进行设置。为此,您可以在表中创建另一个名为“fillColor”的列,并将该列的值设置为您想要的行颜色。然后你可以去Visualize - >依次映射,然后配置样式,然后填充颜色 - >用于选择地图应着色的列的列。

答案 1 :(得分:1)

我发现调用FusionTablesLayer时这些fillColors没有通过。我在Fusion中使用了桶技术,但是当我调用地图时,我只是获取默认标记。我希望能够在Fusion中使用这个功能,因为在javascript中执行它似乎是多余的。

Fusion Map Calling map using FusionTablesLayer