Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Wie asynchroner Request in Funktion verwenden

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

18.09.2013 um 14:23 Uhr, 1404 Aufrufe, 2 Kommentare

Hallo,

ich nutze den Geocoder von Google um die Koordinaten zu einer Adresse zu erhalten. Der Request erfolgt dabei asynchron. Ich will aber eine Funktion erstellen, der ich die Adresse übergebe und als Antwort dir dazugehörigen Koordinaten erhalten. Hat jemand einen Tipp dafür?

So weit bin ich bis jetzt:
[code]
function KoordinatenInAdresseUmwandeln(adresse) {
var geocoder = new google.maps.Geocoder();

geocoder.geocode({ 'address': adresse }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
koordinaten = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng());
}
else
alert('error: ' + status);
});

return "noch nichts";
}
[/code]
Mitglied: Nobody-Is-Perfect
18.09.2013 um 14:34 Uhr
Hi mabue88,

Du versuchst hier aus dem asynchronen Schema auszubrechen.

Im Normalfall würde man der function einfach das Ziel des Ergebnisses mitteilen, z.B. die ID des DOM - Elements
und in der Ergebnisfunktion "function (results, status) {" das Element suchen und den Wert setzen.
Dann bleibt alles schön asynchron und die Funktion selbst hat keine Rückgabe.

Wenn man jedoch auf die Ausführung warten muss, kann man sich mal unter dem Stichwort "Deferred" bei jQuery schlau machen.


Grüße vom Nobody
Bitte warten ..
Mitglied: colinardo
20.09.2013, aktualisiert um 13:01 Uhr
Hallo mabue88,
du könntest deine "Function" so gestalten um sie an mehreren Stellen in deinem Code zu verwenden:
01.
getCoords = function(adresse, f){ 
02.
	var geocoder = new google.maps.Geocoder(); 
03.
	geocoder.geocode({ 'address': adresse }, function (results, status) { 
04.
		if (status == google.maps.GeocoderStatus.OK) { 
05.
			koordinaten = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng()); 
06.
			f("OK",koordinaten); 
07.
		} else { 
08.
			f("ERROR",status);	 
09.
10.
	}); 
11.
}
Um dann die Koordinaten abzufragen benutzt du folgenden Aufruf welchen du in dein synchrones Schema einbauen kannst.
01.
getCoords("Berlin", function(status,result) { 
02.
	if (status == "OK"){ 
03.
                // die variable 'result' enthält hier die Koordinaten 
04.
	}else{ 
05.
		// die Variable 'result' enthält hier den Fehler;	 
06.
07.
});
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
EXCEL: WENN Funktion mehrfach verwenden
gelöst Frage von simsMicrosoft Office2 Kommentare

Hallo Leute - irgendwie find ich keine RICHTIGE Lösung für mein Anliegen! Und zwar möchte ich gerne wenn ich ...

Router & Routing
Asynchrones Routing
gelöst Frage von ottokarlRouter & Routing2 Kommentare

Hallo, ich habe mittels der Anleitung von Thomas Krenn zwei default Gateways eingerichtet: Es funktioniert auch wunderbar. In der ...

Router & Routing
ICMP Hin- und Rückweg asynchron
Frage von tvprog1Router & Routing3 Kommentare

Hallo, ist es technisch möglich, ICMP echo Pakete die für NIC1 (192.168.100.10/24) von einem Rechner bestimmt sind über NIC1 ...

Apache Server
Bad Request
Frage von HacktoxXApache Server6 Kommentare

Guten Tag, habe seit einigen Tagen das Problem, dass wenn ich über http auf meine Website zugreifen will, einen ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 22 StundenAusbildung8 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 2 TagenSpeicherkarten3 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 2 TagenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 3 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
Nas mit USB und LAN gleichzeitig zugreifen
gelöst Frage von MarkBeakerSAN, NAS, DAS16 Kommentare

Hallo zusammen, ich suche eine Art NAS, womit ich via LAN und USB zugreifen kann. Folgender Aufbau ist gedacht: ...

Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware16 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...

Google Android
Samsung S7 Kontakte gelöscht. Kann man die wieder herstellen
Frage von merkelGoogle Android10 Kommentare

Hallo, auf einem S7 wurden Kontakte gelöscht. kann man die wieder herstellen ? gruss Jonas

Server-Hardware
L3 Router Hardware für kleines Netzwerk
Frage von dark.cubeServer-Hardware9 Kommentare

Hallo zusammen, gegenwärtig nutzen wir einen alten Fujitsu Server RX100 S4 1U als Router für unsere internen Netze. Zum ...