0

Google マップ 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);

あなたの提案を試しましたが、ポリゴンが表示されませんでした。どこか間違っているに違いない。今後ともよろしくお願いいたします。

4

1 に答える 1

1

「古い」スタイルの構文を使用しています。FusionTablesLayer のスタイルを設定する場合は、文書化された構文を使用する必要があります

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-10-11T15:14:47.533 に答える