2016-02-26 2 views
0

Я следовал примерам того, как получить текущую позицию (долготу и широту) в javascript, и попробовал и отлично работает.Геолокация. Назначьте значения широты и долготы переменным.

Моя проблема заключается в присвоении переменных lng и lat переменным, чтобы я всегда мог их повторно использовать. Я понимаю, что функция - это своего рода асинхронный вызов.

Из приведенного ниже примера в функции showPosition мое текущее местоположение печатается (как и ожидалось!), Но функция не отображается.

Каков наилучший способ получить значения lat ang lng, чтобы они могли использоваться в других функциях.

var lat; 
var lng; 
// users current location using HTML5 geolocation. 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(showPosition); 
    } 

    function showPosition(position) { 
     lat = position.coords.latitude; 
     lng = position.coords.longitude; 
     console.log("lat: " + lat + "lng: " + latlng); // works fine prints current position 
    } 

    console.log("lat: " + lat + "lng: " + latlng); // prints undefined 

ответ

0

Кажется вопрос сферы .. попытаться декларированием ВАРА вне функции

var lat; 
var lng; 

// users current location using HTML5 geolocation. 

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(showPosition); 
} 

function showPosition(position) { 
    lat = position.coords.latitude; 
    lng = position.coords.longitude; 
    console.log("lat: " + lat + "lng: " + latlng); // works fine prints current position 
} 

console.log("lat: " + lat + "lng: " + latlng); // prints undefined 
+0

обновил вопрос. переменные были определены вне функции. –

Смежные вопросы