如何在Google Map API中设置图层的不透明度

时间:2011-10-03 19:40:13

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

我需要在Google Map API for JavaScript中设置不透明度/ alpha图层,但可以找到一种方法。对于KmlLayer()和GroundOverlay()类型。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果您使用的是KML / KMZ文件,则可以使用XML信息调整不透明度。

将KML / KMZ文件加载到Google地球中,您将能够将多边形上的属性设置为具有特定颜色和不透明度。

或者,您可以直接编辑XML。有关详细信息,请查看http://code.google.com/apis/kml/documentation/kmlreference.html#colorstyle

答案 1 :(得分:0)

您会考虑使用自定义叠加层而不是GroundOverlay吗?例如,看一下Google的自定义叠加教程here,其中展示了如何构建一个与GroundOverlay功能相似的简单叠加层。在this部分中定义的USGSOverlay.onAdd()方法中,请注意您可以直接访问< img>它将显示在叠加层和< div>中包含它。例如,要将不透明度设置为固定值(如0.5),可以修改onAdd()方法:

/* Set the overlay's div_ property to this DIV */
this.div_ = div;
this.div_.style.opacity = 0.5;  /* ADDED */

由于您希望以交互方式设置不透明度,您可能希望将setOpacity()方法添加到您自己的USGSOverlay类版本中,并将该方法挂钩到合适的控件。

完全不同的方法是找到< img>在DOM中。例如,以下使用jQuery的代码可以工作:

$("img[src='foo.png']").css('opacity',0.5);

您需要确保图像已完全加载并添加到DOM中。我还没弄明白如何可靠地做到这一点。