2011-08-30 29 views

回答

4

回答我的Q - 萬一有人需要這樣的:

// Add somewhere before creating your map to hide the info window as long as it got no content: 
<script type="text/javascript"> 
jQuery('#info').hide(); 
</script> 

<script type="text/javascript"> 
function createMarker(lat, lng, whatever) { 
    // map_object_name = the name of your map when you init() 
    html = "<strong>" + whatever + "</strong>"; 

    var marker = new google.maps.Marker({ 
     map: map_object_name, 
     position: new google.maps.LatLng(lat, lng) 
    }); 

    // This snippet adds the content on the fly (when you click the marker) 
    google.maps.event.addListener(marker, 'click', function() { 
     // This pans the viewport/centers the marker in your viewport 
     map_object_name.panTo(new google.maps.LatLng(lat, lng)); 

     // This shows the html-element with the id "info" and adds the html content 
     jQuery('#info').show(); 
     // This clears the content before you add new one 
     jQuery('#info').empty(); 
     jQuery('#info').append(html); 

     // Commented out - just as reference 
     // infoWindow.setContent(html); // the original infoWindow as you know it from Google Maps 
     // infoWindow.open(map_object_name, marker); // the same, just the callback 
    }); 
} 
</script> 

「配售」的#info元素/定位可以比正常的HTML CSS &來完成。

+0

問題。您的自定義infowindow是在地圖上還是在地圖上?謝謝! – Seano666

+0

@ Seano666問題是2 1/2歲,但從查看代碼,我會說'#info' DOM元素在地圖之外,但註釋掉的infoWindow應該在地圖上 - 你我仍然需要創造它。嗯。你可以將'#map'容器設置爲'position:relative; z-index:1;'和'#info'元素爲'position:absolute;頂部:XYpx;左/右:XYpx; z-index:10;'將其置於地圖上方的靜態位置。 – kaiser

相關問題