2014-09-02 4 views
0

Моя проблема в том, что когда я печатаю lat и long моего положения на консоли, он работает, но когда я передаю их в свою функцию вычисления, консоль говорит, что они не определены.Как передать координаты геолокации google другой функции?

function getLocation() { 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(showPosition); 
    } 
    else { 
     location.innerHTML = "Geolocation is not supported by this browser."; 
    } 
} 

function showPosition(position) { 

    console.log(position.coords.longitude); 

    var lat = position.coords.latitude; 
    var lng = position.coords.longitude; 

} 

function calculate(lat,lng){ 
    var homeCoord = new Array(); 
    var awayCoord = new Array(); 
    console.log(lng); 
    console.log(lat); 

    homeCoord[0] = lat; 
    homeCoord[1] = lng; 
    awayCoord = myGeocodeFirst(); 

    var combinedLat = homeCoord[0]+awayCoord[0]; 
    var combinedLong = awayCoord[1]+homeCoord[1]; 

    console.log(combinedLat+" "+combinedLong); 
} 

Спасибо за помощь!

+0

забыл поставить вывод об ошибке: неопределенного calculate.js: 59 неопределенного calculate.js: 60 NaN NaN calculate.js: 69 [40.1208752 , 9.012892599999986] calculate.js: 44 – tnyN

+0

где ваш расчет()? – kinakuta

+0

calculate() вызывается кнопкой в ​​моем html. – tnyN

ответ

1

Поместите его в функции обратного вызова:

function showPosition(position) { 

    console.log(position.coords.longitude); 

    var lat = position.coords.latitude; 
    var lng = position.coords.longitude; 
    calculate(lat,lng); 

} 

function calculate(lat,lng){ 
    var homeCoord = new Array(); 
    var awayCoord = new Array(); 
    console.log(lng); 
    console.log(lat); 

    homeCoord[0] = lat; 
    homeCoord[1] = lng; 
    awayCoord = myGeocodeFirst(); 

    var combinedLat = homeCoord[0]+awayCoord[0]; 
    var combinedLong = awayCoord[1]+homeCoord[1]; 

    console.log(combinedLat+" "+combinedLong); 
} 
+0

Это работает, но не так, как я этого хотел. Мне просто нужно будет перестроить свой код. Благодаря! – tnyN

+1

Возможно, это может быть интересно: [Почему моя переменная неизменна после того, как я изменяю ее внутри функции? - Асинхронная кодовая ссылка] (http://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-inside-of-a-function-asynchron) – geocodezip

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