2010-08-04 211 views
6

我试图把一层放在我的谷歌地图顶部来掩盖它。不需要与谷歌地图进行任何交互,它只是一层。谷歌地图覆盖层

我现在有:

<div id="map"> 
    <div id="overlay"></div> 
</div> 
在地图div

我把我的谷歌地图,以及覆盖层大如地图div的背景下,但谷歌地图一直把自己放在上面。

任何人都可以为我做些什么呢?

+0

你玩过z-index吗? – 2010-08-04 12:51:37

回答

10

API将覆盖您作为容器分配给地图的DIV内的任何内容。 为了掩盖你需要把你覆盖DIV地图div外侧位置的地图:绝对

+4

答案是从2010年8月4日开始。Google从那时起添加了noClear选项。感谢反对票。 – Marcelo 2012-08-15 14:03:08

11

谷歌地图API V3支持称为noClear一个选项:

如果为真,不清除内容的地图div。

这样使用它:

var myLatlng = new google.maps.LatLng(-34.397, 150.644); 
var myOptions = { 
    zoom: 8, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    noClear: true, 
}; 
var map = new google.maps.Map(document.getElementById("map_canvas"), 
    myOptions); 

然而,在语义上感觉不如把DIV#覆盖为地图div的下一个兄弟作为@Marcelo建议。

+0

+1,这个解决方案对我有很大的帮助,因为'div'仍然在'map'范围内,thanx很多。 – 2012-08-24 10:30:20