D00M
Ensign
- Registriert
- Feb. 2011
- Beiträge
- 147
Hallo!
Ich hoffe ihr könnt mir helfen, so langsam verzweifle ich
Ich will eine Google Maps Karte machen wo ich viele verschiendene Marker platziere, die bei Klick ein zugehöriges Bild öffnen (Das wiederum realisiert mit JQuery-Fancybox )
Die Markerspezifischen Daten (also position des Markers auf der Karte und Pfad + Titel des dazugehörigen Bildes) habe ich in einem Array (als JSON) angelegt.
Die Marker werden auch angezeigt - wunderbar. Nur schaffe ich es nicht das öffnen der Bilder zu realisieren.
Im Prinzip müssen nur die Variablen "path" und "title" an den addListener übergeben werden.
Problem dabei ist, dass alle Marker dieselbe Variable "var marker" verwenden!
So wie es jetzt (path und title schon vorher aufgerufen) bekommen alle Marker das gleiche Bild zugewiesen - eben wegen dieser Variablenzuweisung.
Hier der relevante Code:
Ich glaube das ist nicht ganz so einfach zu verstehen was hier mein Problem ist, ich hab versucht es so gut es geht zu beschreiben, und hoffe jemand kann mir helfen
Grüße
D00M
Ich hoffe ihr könnt mir helfen, so langsam verzweifle ich
Ich will eine Google Maps Karte machen wo ich viele verschiendene Marker platziere, die bei Klick ein zugehöriges Bild öffnen (Das wiederum realisiert mit JQuery-Fancybox )
Die Markerspezifischen Daten (also position des Markers auf der Karte und Pfad + Titel des dazugehörigen Bildes) habe ich in einem Array (als JSON) angelegt.
Die Marker werden auch angezeigt - wunderbar. Nur schaffe ich es nicht das öffnen der Bilder zu realisieren.
Im Prinzip müssen nur die Variablen "path" und "title" an den addListener übergeben werden.
Problem dabei ist, dass alle Marker dieselbe Variable "var marker" verwenden!
So wie es jetzt (path und title schon vorher aufgerufen) bekommen alle Marker das gleiche Bild zugewiesen - eben wegen dieser Variablenzuweisung.
Hier der relevante Code:
Code:
var markers = [];
for (var i = 0; i < 32; i++) {
var dataPhoto = data.photos[i];
var latLng = new google.maps.LatLng(dataPhoto.latitude,dataPhoto.longitude);
var path = dataPhoto.url;
var title = dataPhoto.title;
var marker = new google.maps.Marker({position: latLng});
google.maps.event.addListener(marker, 'click', function() {
$.fancybox.open(
[
{
href : path, //Hier brauche ich die Variablen aus dem Array!
title : title,
}
],
{
[...]
},
}
});
});
Grüße
D00M
Zuletzt bearbeitet: