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, 1429 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
VBA Shell Befehl asynchron
gelöst Frage von 125218Microsoft Office1 Kommentar

Guten Abend, ich bin im Moment dran ein Makro zu schreiben, dass eine Batch-Datei ausführen soll. Diese Batch-Datei durchsucht ...

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 ...

Windows 7
Tablett Funktion aktivieren
Frage von Adnan88Windows 71 Kommentar

Hallo, habe ein Win 7 - Pro 32 bit Edition, nun wollte ich einen TouchScreen Monitor nutzen allerdings ist ...

Microsoft Office
Excel Wenn-Funktion
gelöst Frage von freshman2017Microsoft Office2 Kommentare

Moin Moin und guten Abend, ich bräuchte da nochmal Eure Hilfe. Ich habe eine Exelliste mit verschiedenen Werten: Hier ...

Neue Wissensbeiträge
Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 17 StundenInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 1 TagWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 2 TagenWindows 1014 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 3 TagenSicherheits-Tools8 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Heiß diskutierte Inhalte
Server-Hardware
Kompatibilität Tray für HP Proliant DL385 G10 vs. G8, G9
Frage von chris123Server-Hardware19 Kommentare

Hallo, weiß einer der hier anwesenden, ob die Trays für 2,5 " HDDs zwischen einem DL 385 G10 und ...

Outlook & Mail
Office 365 mit Email-Profil installieren
gelöst Frage von 139221Outlook & Mail18 Kommentare

Hallo, kurz zu meiner Person: Vor ungefahr 10 Jahren habe ich eine Umschuldung zum Fachinformatiker für Systemintegration gemacht aber ...

LAN, WAN, Wireless
Glasfaserkabel verlegen und Anschlüsse setzen
Frage von LLL0rdLAN, WAN, Wireless14 Kommentare

Hallo Leute, ich muss demnächst ein Netzwerkkabel auf einer Länge von ca. 70 Metern verlegen. Das Netzwerkkabel soll dabei ...

Server-Hardware
Server Hardwareempfehlung für Projekt
gelöst Frage von heax22Server-Hardware12 Kommentare

Hallo zusammen, ich bin auf der Suche nach einer geeigneten Server Plattform um unter Hyper-V einen virtuellen Server 2016 ...