Google Maps Infofenster nur die be-letzten Datensatz auf Markierungen
Ich versuche, laden Sie eine google-Karte mit dynamischen Marker und dynamische infoWindows mit Ihnen zu gehen. Im Grunde habe ich die Marken arbeiten. Die infoWindows sind anklickbar und schließbar, Sie haben jedoch nicht den richtigen Inhalt. Es scheint, dass die Inhalte für jeden Infofenster ist der Letzte Datensatz, der gefunden wird in der Abfrage-Schleife. Sie werden sehen, was passiert hier Hier der code:
<script type="text/javascript">
//Load the Google Map with Options//
function initialize() {
var myLatlng = new google.maps.LatLng(42.48019996901214, -90.670166015625);
var myOptions = {
zoom: 6,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
//Begin query loop to set the markers and infoWindow content//
<cfoutput query="GetCoord">
var LatLng = new google.maps.LatLng(#Client_Lat#, #Client_Lng#);
var marker = new google.maps.Marker({
position: LatLng,
map: map,
title: "#Client_Company#"
});
var contentString = '<p><b>#Client_Company#</b><br>'+
'#Client_Address#<br>'+
'#Client_City#, #Client_State# #Client_Zip#<br>'+
'<a href="member_detail.cfm?ID=#Client_ID#">View Details</a>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,this);
});
</cfoutput>
//End query loop
}
</script>
Irgendwelche Ideen auf, warum dies passiert ist?
- In FF3.6.8, bekomme ich drei map-Marker, die korrekt angezeigt wird, basiert auf dem Quelltext der Seite. Welchen browser haben Sie Probleme mit?
- Diese drei sind die richtigen Symbole, aber der Inhalt in den infoWindows anders sein SOLLTE. Alle drei sind eigentlich die Inhalte, die Sie den letzten Datensatz in meinem GetCoord Abfrage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem code, den Sie statisch festgelegt, das Infofenster Inhalte laden mit
Dann, wenn Ihre Marker angeklickt werden, Sie sind nur zur Eröffnung das Infofenster
zeigt den gleichen Inhalt für jeden marker, Sie wollen das nicht.
was Sie tun möchten, ist erstellen Sie nur ein Infofenster mit ohne Inhalt (bevor Sie Ihre marker loop). dann, wenn Sie einen marker geklickt wird, befestigen Sie den Inhalt des info-Fensters... dann öffnen Sie das Infofenster. Das spart Codezeilen und bewirken, dass das Infofenster zu schließen automatisch.
bevor Sie Ihre Markierungen (mit der Schleife), fügen Sie diese
in Ihren marker-code fügen Sie das Infofenster.setContent nennen
Hinzufügen
content
als eine Eigenschaft marker-Objekt und verwendenthis.content
im event-handler:this
! 🙂 +1