2012-01-04 22 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