【问题标题】:google.maps.FusionTablesLayer: styles not appliedgoogle.maps.FusionTablesLayer:未应用样式
【发布时间】:2012-10-11 14:12:04
【问题描述】:

我在下面得到了一个代码 sn-p 来显示来自谷歌地图 FusionTablesLayer 的区域的边界。多边形已显示,但从未应用预期的样式。我的代码有什么问题?请帮我。非常感谢。

var FT_TableID=420419;
var ftoptions = {
        suppressInfoWindows:true,
        styles: [
            {polygonOptions: {fillColor:'#0040FF',fillOpacity:0.1,strokeColor:'#FF0000',strokeWeight:2,strokeOpacity:0.6}}
        ]        
    };  


var layer = new google.maps.FusionTablesLayer(FT_TableID,ftoptions);
layer.setQuery('SELECT \'kml_4326\' FROM 420419 WHERE \'name_0\' = \'Vietnam\';');

layer.setMap(theMap);

感谢您的建议。让我进一步澄清我的情况,为什么我必须这样编写代码:我为数据库中的每个区域存储了 ftquery(以原始格式:SELECT ... FROM ...)并将其加载出来以绘制区域边界.

var ftoptions = {...};
var layer = new google.maps.FusionTablesLayer(tableid);

//to load custom styles, but not work, same for setOptions or set('styles',styles);
layer.setValues(ftoptions);

var ftquery = '';//this is loaded from database
layer.setQuery(ftquery);
layer.setMap(theMap);

我尝试了您的建议,但没有显示多边形。我一定是哪里错了。谢谢大家的进一步帮助。

【问题讨论】:

    标签: google-maps-api-3 google-fusion-tables


    【解决方案1】:

    您使用的是“旧”样式语法。如果要对 FusionTablesLayer 进行样式设置,则需要使用documented syntax

    var ftoptions = {
            query: {
              from: tableid,
              select: 'kml_4326',
              where: "name_0 = 'Vietnam'"
            },
            suppressInfoWindows:true,
            styles: [
                {polygonOptions: {fillColor:'#0040FF',fillOpacity:0.1,strokeColor:'#FF0000',strokeWeight:2,strokeOpacity:0.6    }}
            ]
        };
    
    var layer = new google.maps.FusionTablesLayer(ftoptions);
    layer.setMap(theMap);
    

    【讨论】:

      猜你喜欢
      • 2012-03-09
      • 2017-04-22
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2016-02-28
      相关资源
      最近更新 更多