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

How to get current fillColor of google maps polygon?

本文关键字:多边形 fillColor 谷歌地图 何获取 获取      更新时间:2023-09-26

我正在寻找一种方法,用谷歌地图api获取多边形的当前fillColor。

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

根据geoJSON数据,它为我提供了与每个多边形相关联的名称。

很清楚如何为这些多边形设置样式属性,但我在文档中看不到任何方法可以获得当前的fillColor。

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