我正在寻找一种通过google maps api获取当前 fillColor多边形的方法。
map.data.forEach(function(entry) {
console.log(entry.getProperty('name'));
});
根据geoJSON数据,它给出了与每个多边形相关联的名称。
如何设置这些多边形的样式属性非常清楚,但我没有在文档中看到任何方法来获取当前的fillColor。
答案 0 :(得分:2)
您无法检索google.maps.data
图层的各个要素的样式。您可以检索以前使用map.data.setStyle({StylingObject})
分配的数据层的全局样式,如下所示:
map.data.getStyle();
如果您使用样式功能(map.data.setStyle(function(entry){..StylingFunction..})
)分配了样式,则无法获取样式,但您应该能够根据您提供的StylingFunction
和当前功能的属性来确定样式。
此外,您无法使用map.data.overrideStyle(feature, {..})
分配样式。但是,在为其指定样式时,可以为要素设置具有相同名称的属性,然后检索属性,而不是样式。所以你会:
map.data.overrideStyle(feature, {
fillColor:red,
opacity:0.5
});
feature.setProperty('fillColor', 'red');
feature.setProperty('opacity', '0.5');
当你想要检索样式时,你可以使用:
map.data.forEach(function(entry) {
console.log(entry.getProperty('fillColor')); //.. or opacity, or anything you set with setProperty
});