Google maps 如何从Google Map v3获取多边形的覆盖样式

Google maps 如何从Google Map v3获取多边形的覆盖样式,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我很难在谷歌地图上找到之前为多边形设置的颜色 首先,我要: map2.data.setStyle(map, mStyle); //setting the polygon to white 然后我做到了 map2.data.overrideStyle(event.feature, redStyle); // setting the polygon to red 当我抬头时 map2.data.getStyle().fillColor; // this return me white inste

我很难在谷歌地图上找到之前为多边形设置的颜色

首先,我要:

map2.data.setStyle(map, mStyle); //setting the polygon to white
然后我做到了

map2.data.overrideStyle(event.feature, redStyle); // setting the polygon to red
当我抬头时

map2.data.getStyle().fillColor; // this return me white instead of red even I already set it.
以下是我的风格宣言:

mStyle={
  fillColor : white
}

redStyle={
  fillColor : red
}
我认为
getStyle()
函数无法获得覆盖样式


请帮忙。

这可能很晚了,但我希望以后能有所帮助。 每次使用map2.data.overrideStyle替代特定样式时,还应使用调用revertStyles()方法删除所有样式替代。
有关详细信息,请参见

上的“覆盖默认样式”一节,getStyle的文档说明为“获取集合中所有要素的样式”。因此,假设所有要素的填充颜色均为白色,而您只覆盖了一个要素的样式,我假设它使用的是原始默认值。另外,您将两个参数传递给setStyle函数(
setStyle(map,mStyle)
),但文档表明您只传递一个参数。这是我的问题,我是否可以获得该特定功能的覆盖样式。我相信它会像你提到的那样返回原始默认值。但我想检索覆盖的那个。不确定这是否可能。好吧,即使这是正确的,它也不能回答OP问题。问题是,我也需要获得覆盖,因为我做了几个覆盖,我不想还原这些覆盖并将它们用作其他覆盖的基础。示例:带有标记的地图显示在线/离线状态,该状态通过xhr定期更新。如果我隐藏“脱机”标记,xhr更新请求将再次显示脱机标记,尽管我使用自定义控件隐藏了它们。在这里,我需要获得最新的样式覆盖。这可能与OP问题相关,也是一种解决方案: