0

追加したフュージョン テーブル レイヤーをマップから削除するのに少し問題があります。新しいレイヤーをマップに追加する前に既存のフュージョン テーブル レイヤーを削除するように、addRoute 関数 (以下) を変更したいと思います。助けてくれてありがとう!

function addRoute() {            
        var route = document.getElementById("route").value;
        var layer = new google.maps.FusionTablesLayer({
            query:
            {
                name: 'fusionLayer',
                select: 'name',
                from: '1I6lehOOrJJ-BkPznjdiIDnr0o9J8EqAnu73f6Ic',
                where: "name = '" + route + "'"
            }
        });            
        map.loadFromFusionTables(layer);
    }
4

2 に答える 2

7

gmap3.js ("loadFromFusionTables") を使用しているようです

「addRoute」関数の外でレイヤーへの参照を保持する場合は、その「map」プロパティを null に設定してマップから削除できます。

layer.setMap(null);

Google Maps API v3. または、レイヤーを破棄して再作成せずにルートを変更できます。

var route = document.getElementById("route").value;
layer.setOptions({query:
        {
            name: 'fusionLayer',
            select: 'name',
            from: '1I6lehOOrJJ-BkPznjdiIDnr0o9J8EqAnu73f6Ic',
            where: "name = '" + route + "'"
        }})
于 2013-03-28T16:49:53.553 に答える
1

ありがとう、これは役に立ちました。私はそれを少し変更しました:

for (var i = 0; i < map.layers.length; i++) {
   map.layers[i].setMap(null);                    
}

これにより、すべてのレイヤーが削除されます(私が苦労していたFusionTablesLayerを含む)

于 2013-03-28T19:48:03.783 に答える