baerndorfer
Neues Mitglied
Servus ins Forum!
Ich bin gerade dabei eine Googlemaps-Karte zu erstellen.
Die Marker werden aus einer XML-Datei geladen - soweit funktioniert das prächtig!
Folgendes Problem habe ich und komme einfach nicht weiter.
Bestimmte Daten innerhalb der XML-Datei sind nicht immer vorhanden/gleich.
Hier ein Auszug aus der XML-Datei..
Man sieht schon dass bei einem Marker der Link von 2 Bildern übergeben wird, bei dem Marker zuvor gibt es nur ein Bild.
Zum Generieren der Karte verwende ich folgenden Code..
und weiter unten im Script..
Nun zu meiner eigentliche Frage..
Wie kann ich es anstellen, daß beim Erstellen des Markers bzw. beim Erzeugen des Info Window jedes einzelnen Markers nur dann ein Link auf ein Bild erzeugt wird wenn einer (oder 2,3,..) auch vorhanden sind.
Im Moment funktioniert die Karte zwar doch jeder Marker hat im Info-Window 3 Links zu den Bildern wobei nicht jeder Marker 3 Bilder hat.
Herzlichen Dank für Eure Hilfe und
lg
Ich bin gerade dabei eine Googlemaps-Karte zu erstellen.
Die Marker werden aus einer XML-Datei geladen - soweit funktioniert das prächtig!
Folgendes Problem habe ich und komme einfach nicht weiter.
Bestimmte Daten innerhalb der XML-Datei sind nicht immer vorhanden/gleich.
Hier ein Auszug aus der XML-Datei..
Code:
<markers>
<marker Restaurantname="b" Stadt="M" Land="Österreich" Latitude="46.6662" Longitude="14.1328" Name="snapshot" Datum="27.09.2010 at 12:12" Notiz="Add text note" Audiolink="http://www.test.at/audio.caf" Photo="NoPhotos"/>
<marker Restaurantname="b" Stadt="M" Land="Österreich" Latitude="46.6662" Longitude="14.1328" Name="My snapshot" Datum="26.09.2010 at 11:18" Notiz="Add text note" Audiolink="NoAudio" LinkPhoto1="http://www.test.at/image_1.jpg"/>
<marker Restaurantname="b" Stadt="M" Land="Österreich" Latitude="46.6662" Longitude="14.1328" Name="My snapshot" Datum="26.09.2010 at 11:18" Notiz="Add text note" Audiolink="NoAudio" LinkPhoto1="http://www.test.at/image_1.jpg" LinkPhoto2="http://www.test.at/image_1.jpg"/>
</markers>
Man sieht schon dass bei einem Marker der Link von 2 Bildern übergeben wird, bei dem Marker zuvor gibt es nur ein Bild.
Zum Generieren der Karte verwende ich folgenden Code..
Code:
function createMarker(point,Restaurantname,Stadt,Latitude,Longitude,Snapshot_Name,Audiolink,LinkPhoto1,LinkPhoto2,LinkPhoto3) {
//var marker = new GMarker(point, customIcons[type]);
var marker = new GMarker(point);
var html = "<b>" + Restaurantname + "</b><br /><small>"
+ Stadt + "</small><br />Snapshot: <b>"
+ Snapshot_Name + "</b><br /><small><hr noshade width='280px' size='1'>Lat: "
+ Latitude + " | Lng: "
+ Longitude + "</small><br /><br />Audio: <a href='"
+ Audiolink + "' target='_blank'>Link zum File</a><br />Photo1: <a href='"
+ LinkPhoto1 + "' target='_blank'>Photolink</a><br />Photo2: <a href='"
+ LinkPhoto2 + "' target='_blank'>Photolink</a><br />Photo3: <a href='"
+ LinkPhoto3 + "' target='_blank'>Photolink</a><br />";
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
// save the info we need to use later for the side_bar
gmarkers[i] = marker;
// add a line to the side_bar html
side_bar_html += '<a href="javascript:myclick(' + i + ')">' + Restaurantname + " " + Snapshot_Name +'</a><br>';
i++;
return marker;
}
und weiter unten im Script..
Code:
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(46.9968, 15.4441), 7);
// ======== Add a map overview ==========
map.addControl(new GOverviewMapControl(new GSize(200,200)));
GDownloadUrl("xml1.php", function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var Restaurantname = markers[i].getAttribute("Restaurantname");
var Stadt = markers[i].getAttribute("Stadt");
var Snapshot_Name = markers[i].getAttribute("Snapshot_Name");
var Audiolink = markers[i].getAttribute("Audiolink");
var LinkPhoto1 = markers[i].getAttribute("LinkPhoto1");
var LinkPhoto2 = markers[i].getAttribute("LinkPhoto2");
var LinkPhoto3 = markers[i].getAttribute("LinkPhoto3");
var Latitude = markers[i].getAttribute("Latitude");
var Longitude = markers[i].getAttribute("Longitude");
var point = new GLatLng(parseFloat(markers[i].getAttribute("Latitude")),
parseFloat(markers[i].getAttribute("Longitude")));
var marker = createMarker(point,Restaurantname,Stadt,Latitude,Longitude,Snapshot_Name,Audiolink,LinkPhoto1,LinkPhoto2,LinkPhoto3);
map.addOverlay(marker);
}
// put the assembled side_bar_html contents into the side_bar div
document.getElementById("side_bar").innerHTML = side_bar_html;
});
}
}
Nun zu meiner eigentliche Frage..
Wie kann ich es anstellen, daß beim Erstellen des Markers bzw. beim Erzeugen des Info Window jedes einzelnen Markers nur dann ein Link auf ein Bild erzeugt wird wenn einer (oder 2,3,..) auch vorhanden sind.
Im Moment funktioniert die Karte zwar doch jeder Marker hat im Info-Window 3 Links zu den Bildern wobei nicht jeder Marker 3 Bilder hat.
Herzlichen Dank für Eure Hilfe und
lg