2017-07-12 8 views
-1

Googleマップで複数のポリゴンをレンダリングするためにGoogleMapsAPIを使用するWebアプリケーションを作成しています。GoogleMapsAPI - 初期化後にポリゴンのstrokeColorを変更します。

var polyCoords = []; 

function initMap(){ 
    var loc = {lat:23, lng:90}; 
    var polyArr = [{coords : coordsof P1, weight: weight of P1}, ..... , {coords of Pn}]; 
    map = new google.maps.Map(
       document.getElementById('map'), { 
        zoom : 11, 
        center : loc 
       }); 
    for (var poly in polyArr){ 
     var gridPoly = new google.maps.Polygon({ 
           paths : polyArr[poly].coords, 
           strokeColor : "#FF0000", 
           strokeOpacity : 0.8, 
           strokeWeight : 2, 
           fillColor : "#FF0000", 
           fillOpacity : 0.10 
          }); 
     gridPoly.setMap(map); 
     polyCoords[grid] = gridPoly; // polyCoords.push(gridPoly); 
    } 
} 

上記のコードはマップを正しく可視化します。しかし、私はpolyArr変数の重み値に基づいてフィルタリングするための値を私に与えるHTMLスライダを持っています。今度はフィルタリングされたポリゴンのstrokeColorを変更したいと思います。

function updateStroke(filterIndex){ 
    polyCoors[filterIndex].strokeColor = '#000000'; 
    polyCoors[filterIndex].setMap(map); 
} 

これは動作していません。

+0

polyCoorsはコーディネートまたはポリゴンインスタンス自体を保持しますか?どの配列がどれであるかわからないコードにはたくさんの配列があります –

+0

質問に 'polyCoords [poly] = gridPoly'という行を追加するのを忘れました – yashgarg1232

+0

何がsetMapメソッドを動作させていませんか? –

答えて

1

は、以下のことを試してみてください。

polyCoors[filterIndex].setOptions({strokeColor: '#000000'}) 

詳細情報についてはその作品https://developers.google.com/maps/documentation/javascript/reference#PolygonOptions
希望をPolygonOptionsのマニュアルを参照してください!

+0

ありがとうございます。これはうまくいった。 – yashgarg1232

+0

私はそれを聞いてうれしい:)あなたは大歓迎です! –

関連する問題