Auf Event warten - JavaScript

ThePsycho

Vice Admiral Special
Mitglied seit
10.03.2003
Beiträge
637
Renomée
1
Hallo,

ich bastel gerade ein wenig an der AJAX-API von map24 (http://devnet.map24.com) rum.

Ich will jetzt hier aber nicht zu sehr ins Detail gehen, damit mir hier noch möglichst viele Leute helfen können.

Also:

Ich habe eine globale Variable angelegt. Diese übergebe ich einer Funktion (ja, obwohl sie global ist muß ich das machen, da der Name dynamisch per JSP erzeugt wird) und soll dort belegt werden.
Das Problem ist, dass das Belegen der Variable von einem Event abhängt - ich diese Variable aber später zum Auslesen brauche.

Code:
Code:
			function geocode(titel, name, text, addressString, [b]point[/b]) {
				map.Webservices.sendRequest(        
					new Map24.Webservices.Request.MapSearchFree(map, {
						SearchText: addressString,
						MaxNoOfAlternatives: 1
					})
				);

				map.onMapSearchFree = function(event) {
					var firstResult = event.Alternatives[0];
					var lon = firstResult.Coordinate.Longitude;
					var lat = firstResult.Coordinate.Latitude;
					[b]point = addHTMLLabel(titel, name, text, lat, lon);[/b]
				}
			}

[...]

			[b]var <%= name %>[/b];
			geocode(<%= "\"" + pntName + "\"" %>, <%= "\"" + name + "\"" %>, <%= "\"" + text + "\"" %>, <%= "\"" + adress + "\"" %>, [b]<%= name %>[/b]);

Später frage ich mit "if (<variable>)" ab, ob die Werte bereits gesetzt sind. Dies ist aber meistens nicht der Fall, da die Geokodierungsanfrage etwas Zeit in Anspruch nimmt.
Anstatt dann aber einfach etwas zu überspringen würde ich gerne auf das Event warten - nur wie mache ich das?

Ich hab es mal ganz naiv mit
Code:
while(!<variable>) {
}
versucht, leider ohne Erfolg (scheint der Browser nicht zu mögen).

Anmerkung: Bin recht neu in Sachen JavaScript, ihr dürft mir also auch gerne generelle Tipps geben, falls mein Code eklig aussieht. ;)
 
Hallo,

also es scheint keinen Weg zu geben, auf Events zu warten - deshalb habe ich das so geändert, dass die zu ändernden Sachen in Funktionen ausgelagert sind und nochmals aufgerufen werden.

Das Problem, das weiterhin besteht, ist aber, dass die globale Variable (in meinem Beispiel var <%= name %>;) nicht gesetzt wird, obwohl ich sie doch als Parameter übergebe.

Kann mir jemand sagen, warum?
Daran hängt gerade alles...
 
Zurück
Oben Unten