如何获取谷歌地图多边形的当前fillColor?

时间:2016-05-16 19:36:50

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

我正在寻找一种通过google maps api获取当前 fillColor多边形的方法。

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

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

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

1 个答案:

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