使用Maps API动态设计FusionTableLayer

时间:2012-02-11 10:26:05

标签: google-maps google-fusion-tables

我在设计Fusion Layer时遇到了一些麻烦,我真的会  感谢您的帮助。  我添加了一个默认样式定义为

的图层
layer.set('styles', [{ 
                 polygonOptions: { 
                         fillColor: '#FFFFFF', 
                         fillOpacity: 1, 
                         strokeColor: '#000000', 
                         strokeWeight: 1 
                 } 
         }]); 

这很好用。然后为该图层设置单击侦听器。该  故事是这样的:用户点击地图上的一个功能。如果它是  属性等于给定的值(例如,在表格中),我想要这个  功能得到不同的fillColor比其余的。

google.maps.event.addListener(okresy,'click', function(ev) { 
                 nazev = ev.row.NAZEV.value; 
                         layer.set("styles", [{ 
                                 polygonOptions: { 
                                         fillColor: '#FFFFFF', 
                                         fillOpacity: 1, 
                                         strokeColor: '#000000', 
                                         strokeWeight: 1 
                                 }, 
                                 where: "'NAZEV' = '"+nazev+"'", 
                                 polygonOptions : { 
                                         fillColor : '#008C00', 
                                         fillOpacity : 1, 
                                         strokeColor : '#000000', 
                                         strokeWeight : 1 
                                 } 
                         }]); 

}); 

所以我所做的就是将颜色#008C00设置为点击的功能  每个其他功能我分配与开头相同的样式。  但是,无论我做什么,我都无法使它发挥作用。其余的功能  当某些功能出现时,会获得默认的半透明红色  点击。我错过了什么吗? Opera Dragonfly不报告任何代码错误,所以我认为语法没问题。

1 个答案:

答案 0 :(得分:2)

哈,问题解决了!我实际上需要更像这样的东西:

okresy.set("styles", [{ 
        polygonOptions: {
            fillColor: '#FFFFFF', 
            fillOpacity: 1, 
            strokeColor: '#000000', 
            strokeWeight: 1 }}, 
        {where: "'NAZEV' = '"+nazev+"'", 
         polygonOptions : {
            fillColor : '#008C00', 
            fillOpacity : 1, 
            strokeColor : '#000000', 
            strokeWeight : 1 
         }} 
]);

虽然调试器没有报告任何错误,但这让我感到困惑。