1

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

      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
                              }
                            }]
      });
4

2 回答 2

2

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

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

于 2012-08-01T04:14:10.090 回答
1

我发现调用 FusionTablesLayer 时这些填充颜色没有通过。我在 Fusion 中使用存储桶技术,但是当我调用地图时,我只是得到了默认标记。我希望能够在 Fusion 中使用该功能,因为在 javascript 中执行该功能似乎是多余的。

使用 FusionTablesLayer 调用地图融合地图

于 2012-08-25T16:42:20.283 回答