我根据不同的条件在一个图层中使用不同的颜色着色国家多边形。但在五个“何处”条件之后,它没有检测到相关的颜色。但使用默认颜色。为什么会这样? 以下是我的代码:
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
}
}]
});
答案 0 :(得分:2)
如FusionTablesLayer的限制所述:您可以使用Maps API将最多五个Fusion Tables图层添加到地图中,其中一个可以使用最多五个样式规则进行样式设置。
避免在每个“masterNarrative”列中使用五种样式规则设置颜色的一种方法是使用Fusion Tables UI设置颜色,而不是通过FusionTablesLayer在javascript中进行设置。为此,您可以在表中创建另一个名为“fillColor”的列,并将该列的值设置为您想要的行颜色。然后你可以去Visualize - >依次映射,然后配置样式,然后填充颜色 - >用于选择地图应着色的列的列。
答案 1 :(得分:1)
我发现调用FusionTablesLayer时这些fillColors没有通过。我在Fusion中使用了桶技术,但是当我调用地图时,我只是获取默认标记。我希望能够在Fusion中使用这个功能,因为在javascript中执行它似乎是多余的。