2012-01-04 54 views
3

谷歌地图可以有透明BG吗?我一直在讨论参数,但找不到解决方案。我正在使用JS API。谷歌地图可以有透明BG吗?

谢谢。

+0

您曾经试图应用了地图设置在容器上的透明度?如果我记得,您传递一个元素作为地图容器,然后Google JS库将该地图呈现给该地图。 – 2012-01-04 08:44:19

回答

2

通过将CSS设置为opacity的值小于1,似乎可以实现这一点。所有现代浏览器都支持opacity,它们可以是本地的,也可以是专有的指令。

<!-- The container to which the map is rendered by the Google JS library --> 
<div id="mapContainer" style="opacity:0.5"></div> 
+2

这不就是让所有东西都变成50%不透明吗?我正在寻找使水和100%半透明的元素。 – fancy 2012-01-04 10:14:34

+0

@fancy - 我不知道。我在网上找不到任何东西,我从来没有做过。这需要Google支持一个相当复杂的alpha通道渲染系统,并以支持32位alpha通道(如PNG)的格式返回地图。 – 2012-01-05 04:04:39

+0

对,我可能会尝试使用静态地图并使用画布来移除我不想要的部分。唯一的问题是我需要将图像缓存在我的服务器上,我认为这个ID是谷歌服务条款。 :( – fancy 2012-01-05 05:40:13

6

有一种方法可以通过Google Maps API V3为地图提供透明背景。 MapOptions对象具有名为backgroundColor的属性,该属性设置地图的背景颜色。如果您使用HSLA颜色值,则可以控制此背景颜色的不透明度以创建透明度。

var mapOptions = { 
zoom: 1, 
styles: mapStyles, 
backgroundColor: 'hsla(0, 0%, 0%, 0)', 
}; 

除了设置这种颜色,还需要使用一些地图样式来隐藏水(或任何你想要透明的东西)。

下面是一个codepen演示效果: http://codepen.io/verticalgrain/pen/LVRezx