我有一个包含5个种群(列)的融合表,对于每个我想要显示具有不同颜色的最高人口密度的多边形。
在为样式化融合表图层的示例中,定义了“polygonOptions”,但我不希望多边形具有任何样式,除非其中一个人口集中,并且因为这将需要1个样式从5的限制。
我不确定要更改什么或者我缺少什么才能正确显示这些样式。
答案 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'