GoogleMapsAPI - 初始化后更改多边形的strokeColor

时间:2017-07-12 21:18:13

标签: javascript google-maps-api-3 google-visualization

我正在创建一个使用GoogleMapsAPI在Google地图上渲染多个多边形的网络应用程序。

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);
   }
}

上面的代码正确地显示了地图。但是,我有一个HTML滑块,它为我提供了一个值,我根据polyArr变量中的权重值来过滤。现在我想更改已滤除多边形的strokeColor

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

这似乎不起作用。

1 个答案:

答案 0 :(得分:2)

尝试以下方法:

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

有关详细信息,请访问PolygonOptions文档https://developers.google.com/maps/documentation/javascript/reference#PolygonOptions
希望有用!

相关问题