navigator.geolocation.watchPosition() yöntemi, kullanıcının konumunu sürekli olarak izlemek için kullanılabilir. İşlev, kullanıcının konumu değiştiğinde belirtilen bir geri çağrı işlevini çağırır. Aşağıda basit bir örnek verilmiştir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | function konumTakibi() { if (navigator.geolocation) { navigator.geolocation.watchPosition( konumGuncelle, // başarılı konum güncelleme durumunda çağrılacak işlev konumHatasi, // hata durumunda çağrılacak işlev {enableHighAccuracy: true, maximumAge: 30000, timeout: 27000} // seçenekler ); } else { console.log("Konum izleme özelliği desteklenmiyor."); } } function konumGuncelle(position) { console.log("Yeni konum: " + position.coords.latitude + ", " + position.coords.longitude); } function konumHatasi(error) { console.log("Konum alınamadı. Hata kodu: " + error.code); } |
Bu örnekte, konumTakibi() işlevi navigator.geolocation.watchPosition() yöntemini çağırır. Bu yöntemin üç parametresi vardır:
Birinci parametre, konum güncellendiğinde çağrılacak işlevdir. Bu örnekte, konumGuncelle() işlevi, yeni konum bilgilerini konsola yazdırır.
İkinci parametre, konum alınırken bir hata oluştuğunda çağrılacak işlevdir. Bu örnekte, konumHatasi() işlevi, hata kodunu konsola yazdırır.
Üçüncü parametre, seçeneklerdir. Bu örnekte, enableHighAccuracy özelliği, mümkün olduğunda en doğru konumu almak için yüksek hassasiyetli konum özelliklerini etkinleştirir. maximumAge özelliği, önbellekteki son konum verilerinin maksimum yaşını belirler. timeout özelliği, konum bilgilerinin alınması için maksimum süreyi belirler.
Bu örnekte, kullanıcının konumu her değiştiğinde konumGuncelle() işlevi çağrılacak ve yeni konum bilgileri konsola yazdırılacaktır. Konum alınamadığında, konumHatasi() işlevi hata kodunu konsola yazdıracaktır.