2016-05-16 85 views
0

我正在寻找一种方法来获取当前 fillColor与谷歌地图API的多边形。如何获取谷歌地图多边形的当前fillColor?

map.data.forEach(function(entry) { 
    console.log(entry.getProperty('name')); 
}); 

根据geoJSON数据给出了与每个多边形关联的名称。

这很清楚如何为这些多边形设置样式属性,但我在文档中没有看到任何方式来获取当前的fillColor。

回答

1

您无法检索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 
});