2010-08-04 76 views
6

Tôi đang cố gắng đặt một lớp lên trên bản đồ google của mình để che phủ nó. Không cần phải có sự tương tác với bản đồ google, nó chỉ là một lớp trên đầu trang khác.lớp phủ bản đồ google

những gì tôi có bây giờ:

<div id="map"> 
    <div id="overlay"></div> 
</div> 

trong div bản đồ tôi đặt bản đồ google của tôi, và lớp lớp phủ có một nền tảng lớn như div bản đồ, nhưng google maps giữ đặt bản thân lên trên.

Bất kỳ ai là idee tôi có thể làm gì?

+0

bạn có thử chơi với chỉ mục z không? –

Trả lời

10

API sẽ ghi đè mọi thứ bên trong DIV mà bạn gán cho bản đồ làm vùng chứa. Để trang trải các bản đồ mà bạn sẽ cần phải đặt div lớp phủ của bạn ngoài div bản đồ với position: absolute

+4

Câu trả lời đó là từ ngày 4 tháng 8 năm 2010. Google đã thêm tùy chọn noClear từ đó. Cảm ơn bạn đã bỏ phiếu xuống. – Marcelo

11

Google Maps API V3 hỗ trợ một tùy chọn gọi là noClear:

Nếu đúng, không rõ ràng về nội dung của div Bản đồ.

Sử dụng nó như:

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); 

Tuy nhiên, ngữ nghĩa nó cảm thấy tốt hơn để đặt div # overlay như anh chị em tiếp theo của div bản đồ như @Marcelo gợi ý.

+0

+1, giải pháp này đã giúp tôi rất nhiều, vì 'div' vẫn nằm trong giới hạn' map', thanx rất nhiều. –

Các vấn đề liên quan