2016-04-02 26 views
0

navigator.geolocation.getCurrentPosition üç parametre için başarı, başarısızlık ve seçenekler gerektirir.Coğrafi konumun sonucunu nasıl alabilirim

Almak istediğim konumun sonucudur. Ben başarı işleviyle pozisyonu geri denemek var, ama sen pozisyona başvurmak istiyorsa

function success(pos) { 
    var crd = pos.coords; 

    console.log('Your current position is:'); 
    console.log('Latitude : ' + crd.latitude); 
    console.log('Longitude: ' + crd.longitude); 
    console.log('More or less ' + crd.accuracy + ' meters.'); 
    return pos; 
}; 
pos = navigator.geolocation.getCurrentPosition(success, error, options); 
console.log('pos', pos); 

cevap

0

getCurrentPosition başarı işleyicisi

https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition

geri pozisyonu nesnesi döndüren 'tanımsız' döndürür Daha sonra tek yol, onu küresel bir değişkende saklamak ve daha sonra kullanmaktı. Sadece küresel geri dönüşün başarı geri dönüşüne kadar başlatılmayacağını unutmayın.

var g_pos; 

function error(e){ 
    alert(e); 
} 

function success(pos) { 
    var crd = pos.coords; 
    g_pos = pos; // assign to global 
    console.log('Your current position is:'); 
    console.log('Latitude : ' + crd.latitude); 
    console.log('Longitude: ' + crd.longitude); 
    console.log('More or less ' + crd.accuracy + ' meters.'); 
    return pos; 
}; 

var options = { 
    enableHighAccuracy: true, 
    timeout: 5000, 
    maximumAge: 0 
}; 

navigator.geolocation.getCurrentPosition(success, error, options); 

//hint type g_pos in console after and you can see the position object. 
+0

Evet, sorun şu ki, çağrıyı hemen nasıl geri alabilirim? Düşünebildiğim tek çözüm, çağrıyı yakalamak için bir işlevi kullanmak. Pos değişkenine dayanan bir programım var; başarılı arama veya hata çağrısı olup olmadığını bilmek zor. –