如何在谷歌地图API设置图层的不透明度

How to set opacity of layers in Google Map API

本文关键字:图层 不透明度 设置 API 谷歌地图      更新时间:2023-09-26

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

任何想法?

你会考虑使用自定义覆盖而不是地面覆盖吗?例如,看看谷歌的自定义覆盖教程在这里,他们展示了如何建立一个简单的覆盖,在功能上类似于GroundOverlay。在本节中定义的usgoverlay . onadd()方法中,请注意您可以直接访问这将显示在叠加和

它包含了它。例如,要将不透明度设置为固定值,例如0.5,您可以修改onAdd()方法:
/* Set the overlay's div_ property to this DIV */
this.div_ = div;
this.div_.style.opacity = 0.5;  /* ADDED */

因为您想要交互地设置不透明度,您可能想要添加一个setOpacity()方法到您自己版本的usgoverlay类,并将该方法挂钩到一个合适的控件。

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

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

您需要确定图像已完全加载并添加到DOM中。我还没有想出如何可靠地做到这一点。

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

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

或者,您可以直接编辑XML。查看http://code.google.com/apis/kml/documentation/kmlreference.html#colorstyle获取更多信息。