我有一个包含5个人口(列)的融合表,对于每个人口,我想用不同的颜色显示人口密度最高的多边形。
在定义融合表层样式的示例中,定义了"polygonOptions“,但我不希望多边形有任何样式,除非有一个群体集中,而且这也会使1个样式远离5个样式的限制。
我不确定要更改什么或缺少什么才能正确显示这些样式。
我的地图:http://seflculturemap.com/miami-test.html
发布于 2013-03-29 03:14:43
您遇到的第一个问题是列名,当它们包含空格时,必须在查询内用单引号将它们括起来。
另一个问题(你需要应用6种风格,但有5种的限制)。也可以直接为地图创建样式,因此可以创建将所有多边形的不透明度设置为0的虚拟样式。
要应用此样式,请使用样式的ID,并将其与options-参数一起传递给层。我已经为您的地图创建了这样一个虚拟样式,它的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://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'https://stackoverflow.com/questions/15674143
复制相似问题