2011-06-27 38 views
5

Tôi có Bản đồ Google (v3) với 20 điểm đánh dấu. Tôi có một cá thể InfoBox duy nhất được điền bằng một div bao gồm văn bản để điền vào ô như innerHTML.Google Maps v3 InfoBox Thêm Trình xử lý Sự kiện

Tôi muốn có thể nhấp vào hộp thông tin và điều hướng đến một trang khác, nhưng tôi không thể nhận được hộp thông tin hoặc div bên trong để phản hồi sự kiện nhấp chuột.

Tôi đã thử thêm trình xử lý sự kiện và tôi đã thử thêm một trình tạo ảnh domList, nhưng tôi không thể làm việc.

Dưới đây là một số đoạn từ mã của tôi

//setting up the infobox 

    var infobox = new InfoBox({ 
      disableAutoPan: true 
      ,isHidden:false 
      ,pixelOffset: new google.maps.Size(-10, -10) 
      ,closeBoxURL: "" 
      ,pane: "mapPane" 
      ,enableEventPropagation: true 
     }); 

    //setting up the div 

    var boxText1 = document.createElement("div"); 
     boxText1.id = "boxText1"; 
     boxText1.className = "labelText"; 
     boxText1.innerHTML = title1;//this is created earlier 

    //the marker event listener - the marker and coordinates are also set up earlier 
     google.maps.event.addListener(_marker1, 'click', function() { 
     infobox.content_ = boxText1; 
     infobox.position_ = mkLatLng1; 
     infobox.open(map); 
    }); 

     //so far everything ok. When the user clicks the marker the infobox pops up - but..... 

    google.maps.event.addDomListener(boxText1,'click',function(){ alert('clicked!') });//doesn't work 

Tôi đã thử một loạt các lựa chọn khác, nhưng tất cả họ đang chụp trong bóng tối. Cách tốt nhất để lắng nghe sự kiện nhấp chuột trên hộp thông tin là gì?

Cảm ơn

+0

có chữ thập nhỏ đóng thông tin không? – ianbarker

+0

Văn bản của hộp thông tin của bạn có thể chứa html phải không? Vì vậy, bạn có thể tạo một div trong đó và lắng nghe các nhấp chuột trên div đó. –

+0

Không có dấu gạch chéo nhỏ. Bạn đang nghĩ đến cửa sổ thông tin? –

Trả lời

11

Sự cố được giải quyết. Trong các tùy chọn hộp thông tin bạn phải đảm bảo rằng bạn có

pane: "floatPane" 

và KHÔNG

pane: "mapPane" 

như tôi đã có nó. Làm việc tốt ngay bây giờ.

Điều thú vị là Google Docs nói

Set the pane to "mapPane" if the InfoBox is being used as a map label. 

Những gì họ không nói là bạn không thể sử dụng tùy chọn này nếu bạn muốn nhãn bản đồ để có thể nhấp.

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