2016-05-10 10 views
-1

Ich möchte Rückgabewert für eine Funktion erhalten.Wie bekomme ich Wert in Funktion?

Skript

navigator.geolocation.getCurrentPosition(function(position) { 
    var latitude = positon.coords.latitude; // I want to return this 
}); 

var mapContainer = document.getElementById('map'), 
    mapOption = { 
     center : new daum.maps.LatLng(***I need latitude here***), 
     level : 3 
    }; 

var map = new daum.maps.Map(mapContainer, mpOption); 

/script

Eigentlich ist mein Code, aber ich will das nicht. Ich möchte nur einen Wert zurückgeben.

navigator.geolocation.getCurrentPosition(function(position) { 
    var mapContainer = document.getElementById('map'), 
     mapOption = { 
      center : new daum.maps.LatLng(position.coords.latitude, 
             position.coords.longitude), 
      level : 3 
     }; 

    var map = new daum.maps.Map(mapContainer, mapOption); 
}); 

Image

+0

Ihre Frage hat nicht genug Details, um eine gute Antwort geben zu können. Bitte liefern Sie eine [mcve] – Tibrogargan

Antwort

0

ich Kopie geklebt Ihrem Beispiel haben und versucht, es auszuführen. Es gibt einige grundlegende Fehler. Bitte schließe zuerst deine Hosenträger richtig.

navigator.geolocation.getCurrentPosition(function(position) { 
    var latitude = positon.coords.latitude; // I want to return this 
}); 

Sie hatte )} statt }) geschrieben.

Dann ist das Hauptproblem Schreibfehler für Position in var latitude = positon.coords.latitude; Zeile. Sie sollten schreiben, was auch immer Sie in der Funktion übergeben haben und Sie haben position übergeben.

Korrigieren Sie diese beiden Probleme, Ihr Code wird funktionieren.

Beispielcode-Snippet mit Warnung.

Führen Sie diesen Code in der Konsole und Sie sollten eine Warnung mit dem Breitenwert erhalten.

Unten ist Ihr Code-Snippet. Sehen Sie, ob das für Sie funktioniert. Ich habe gerade die position Variable außerhalb des Funktionsumfangs deklariert, so dass Sie später darauf zugreifen/verwenden können.

var latitude = 0; // Initial value of latitude variable 
navigator.geolocation.getCurrentPosition(function(position) { 
    latitude = position.coords.latitude; // Here you are setting the exact value of latitude 
}); 

var mapContainer = document.getElementById('map'), 
    mapOption = { 
     center : new daum.maps.LatLng(latitude), 
     level : 3 
    }; 

var map = new daum.maps.Map(mapContainer, mapOption); 
+0

Sorry, es ist mein Fehler. Da ich meine Quelle nicht kopieren und einfügen kann, habe ich meine Quelle geschrieben. – HanTael

+0

Ich kenne diesen Code, aber wenn der Alarm außerhalb des Blocks ist, ist der Breitengrad nicht definiert. – HanTael

+0

Kein Problem. Aber haben Sie es versucht, nachdem Sie die Korrektur der Position und der Zahnspange korrigiert haben! Funktioniert es jetzt? –

Verwandte Themen