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);
}
これは動作していません。
polyCoorsはコーディネートまたはポリゴンインスタンス自体を保持しますか?どの配列がどれであるかわからないコードにはたくさんの配列があります –
質問に 'polyCoords [poly] = gridPoly'という行を追加するのを忘れました – yashgarg1232
何がsetMapメソッドを動作させていませんか? –