Ergebnis 1 bis 3 von 3
Thema: XML und Google Maps
-
18-03-2010, 15:27 #1
Eroberer
- registriert
- 18-03-2010
- Beiträge
- 52
XML und Google Maps
Hallo!
ich sollte zunächst einmal anmerken, dass ich noch keine JS-Kenntnisse habe und diesen Code "gebastelt" habe mit Hilfe des Google Tutorials. Einen Teil, "var info", habe ich selbst eingefügt und darum geht's.
Ich möchte über die xml datei die Texte für die Marker festlegen. Allerdings scheint man in XML keine html tags verwenden zu können. Kann man aber anders lösen, das ist nicht das Problem. Viel mehr kann ich den Marker nun mit einem infoWindow versehen und dieses auch füllen, aber, es wird mit dem content des letzten markers gefüllt und nur der erste marker zeigt das infowindo an. Ich möchte aber, für jeden marker der eigenene content angezeigt wird.
Ich programmiere VBA, html und css. Daher denke ich, dass ich den Code soweit verstanden habe. Ich habe ihn in jeder Zeile kommentiert und hoffe, dass ich recht habe.
Code:GDownloadUrl("helicopter.xml", function(data) { /XML einbinden var xml = GXml.parse(data); //XML einbinden var markers = xml.documentElement.getElementsByTagName("marker"); //XML Tag marker laden for (var i = 0; i < markers.length; i++) { //Schleife um die Anzahl der marker-Tags zu ermitteln var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")), //erstellen der Schreibweise Breite,Länge parseFloat(markers[i].getAttribute("lng"))); //erstellen der Schreibweise Breite,Länge var info = markers[i].getAttribute("content") + "<br>" + //hier versuche ich den infotext für den maker zu erstellen markers[i].getAttribute("lat") + //hier versuche ich den infotext für den maker zu erstellen markers[i].getAttribute("lng"); //hier versuche ich den infotext für den maker zu erstellen var point = new GMarker(latlng,icon); //Erstelle Punkt auf der Karte, mit Icon und Koordinaten von var latlng map.addOverlay(point); //Erstelle Punkt auf die Karte GEvent.addListener(point, "click", function() {point.openInfoWindowHtml(info)}); //Klickeffekt. Öffne das Infofenster } });
Soli
-
18-03-2010, 16:01 #2
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
AW: XML und Google Maps
die funktion, welche du piont als eventhandler in addListener mitgibst, greift auf point und info zu. diese enthalten aber beim klick (die for-schleife ist durchlaufen) die werte aus dem letzten durchlauf der schleife.
lösen könntest du das über eine weitere closure.
Code:function getCB(point, info) { return function() {point.openInfoWindowHtml(info);}; } GEvent.addListener(point, "click", getCB(point, info));
-
19-03-2010, 16:11 #3
Eroberer
- registriert
- 18-03-2010
- Beiträge
- 52
Ähnliche Themen
-
Google Maps API: Karte in Div platzieren
Von jilli im Forum JavaScriptAntworten: 11Letzter Beitrag: 19-06-2009, 13:04 -
Problem mit Google Maps
Von Herr-Vorragend im Forum JavaScriptAntworten: 9Letzter Beitrag: 19-02-2009, 17:22 -
Routenplaner in eingebettetem Google Maps in neuem Fenster öffnen
Von rainerWahnXXL im Forum JavaScriptAntworten: 1Letzter Beitrag: 10-06-2008, 23:38 -
Worin liegt nur der Fehler in folgendem kurzen Google Maps Script...? :-(
Von mutzu2210 im Forum JavaScriptAntworten: 0Letzter Beitrag: 06-12-2007, 22:06 -
Beerbt Google Microsoft als IT-Supermacht?
Von kasimir83 im Forum SmalltalkAntworten: 5Letzter Beitrag: 16-04-2004, 16:07
Lesezeichen