konto usunięte

Temat: [JavaScript] problem z funkcją wirtualną i zasięgiem...

Witam,
mój problem wygląda następująco, próbuję wykonać poniższy fragment kodu

var coords = new Object();
// Try W3C Geolocation (Preferred)
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition( function(position) {
coords.latitude = position.coords.latitude;
coords.longitude = position.coords.longitude;
alert(coords.latitude); //dziala
}, function() {
alert("Unable to get your current position. Please try again. Geolocation service failed.");
});
} else {
alert('Your browser does not support geolocation.');
}

console.log(coords.latitude); //wywala undefined

ostatnia linia zwraca undefined, w jaki sposób zainicjować zmienną globalną żeby była dostępna z poza funkcji anonimowej??Marcin Skurski edytował(a) ten post dnia 14.11.11 o godzinie 22:08

konto usunięte

Temat: [JavaScript] problem z funkcją wirtualną i zasięgiem...

To wywala undefined, dlatego że definiujesz latitude dopiero w callbacku do getCurrentPosition.

Inaczej mówiąc wywołujesz metodę navigator.geolocation.getCurrentPosition i ona tam kiedyś wywoła jeden z tych dwóch callbacków. Ale za nim któryś z nich się wywoła to ty już console.log używasz na zmiennej, która nie jest zainicjowana.

Jak potrzebujesz zaczekać na tą inicjalizację to musisz wywoływać dalsze metody w callbacku.

Następna dyskusja:

[Javascript] Problem z pobr...




Wyślij zaproszenie do