React Bileşenlerinde Geolocation API
Geolocation API ile kullanıcının konumunu isteyip izleyin, izinleri yönetin ve izleyicileri temizleyin
React Bileşenlerinde Geolocation API, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.
Tek Seferlik Konum Okuma
navigator.geolocation.getCurrentPosition(successCallback, errorCallback, options) cihazın konumunu bir kez ister. Başarılı sonuç geri çağrımı bir GeolocationPosition nesnesi alır. Bu yöntem, hareketi sürekli izlemek yerine düğmeye tıklandığında en yakın mağazayı bulmak gibi konuma yalnızca bir kez ihtiyaç duyduğunuz durumlar için uygundur.
Sürekli Konum İzleme
navigator.geolocation.watchPosition(successCallback, errorCallback, options), cihazın konumu her değiştiğinde geri çağrımı sürekli olarak çalıştırır. Sayısal bir watchId döndürür. Bu yöntem, konumun güncel kalması gereken teslimat takibi veya adım adım navigasyon gibi gerçek zamanlı kullanım alanları için uygundur.
Konum Nesnesi
GeolocationPosition nesnesi, latitude, longitude ve metre cinsinden accuracy özelliklerini içeren bir coords özelliğine sahiptir. İsteğe bağlı ek alanlar arasında altitude, altitudeAccuracy, heading ve speed bulunur. timestamp alanı, konumun ne zaman alındığını kaydeder.
Coğrafi Konum Hata Kodları
Hata geri çağrımı, sayısal bir code özelliğine sahip GeolocationPositionError nesnesini alır. 1 kodu PERMISSION_DENIED (kullanıcı reddetti), 2 kodu POSITION_UNAVAILABLE (donanım veya ağ hatası) ve 3 kodu TIMEOUT (isteğin tamamlanması çok uzun sürdü) anlamına gelir. Her zaman bu üç durumun tamamını ele alın.
Temizleme Sırasında Watch'ı Durdurma
Bir watchPosition dinleyicisi siz durdurana kadar süresiz olarak çalışır. useEffect içinde, navigator.geolocation.clearWatch(watchId) yöntemini çağıran bir temizleme işlevi döndürün. Temizlemeyi unutursanız izleyici, bileşen kaldırıldıktan sonra da çalışmaya devam eder; bu durum pili tüketir ve kaldırılmış durumun güncellenmesine yol açabilir.
useGeolocation Kancası Oluşturma
useGeolocation kancası, dört olası değere sahip bir durum bilgisini yönetir: idle (henüz istenmedi), loading (istek sürüyor), success (konum alındı) ve error (başarısız). Ayrıca position ile errorMessage değerlerini de durum içinde tutar. Bileşenler temiz ve tutarlı bir arayüz alır.
İzin Reddini Uygun Biçimde Ele Alma
Kullanıcı coğrafi konum iznini reddettiğinde, özelliğin konum erişimine neden ihtiyaç duyduğunu ve tarayıcı ayarlarından bu erişimin nasıl yeniden etkinleştirileceğini açıklayan yararlı bir mesaj gösterin. Kullanıcılara hiçbir zaman ham hata kodu göstermeyin. Özelliğin konum izni olmadan da kullanılabilmesi için manuel adres girme alternatifi sunun.
Coğrafi Konum İçin HTTPS Gereksinimi
Çoğu güçlü tarayıcı API'si gibi coğrafi konum da güvenli bağlamlarla sınırlıdır. navigator.geolocation, düz HTTP sayfalarında undefined olur. localhost üzerinde geliştirme yaparken HTTPS olmadan çalışır. Üretimde uygulamanızın HTTPS üzerinden sunulduğundan her zaman emin olun; aksi takdirde kullanıcılardan hiçbir zaman izin istenmez.
Doğruluk ve Zamanlama Seçenekleri
getCurrentPosition ve watchPosition yöntemlerinin isteğe bağlı üçüncü bağımsız değişkeni bir seçenekler nesnesi kabul eder. enableHighAccuracy: true, daha fazla güç tüketimi karşılığında GPS düzeyinde hassasiyet ister. timeout, beklenecek en uzun milisaniye süresini belirler. maximumAge, belirlenen milisaniye süresi içinde alınmışsa önbelleğe alınmış bir konumun kullanılmasına izin verir.
Gerçek Dünya Kullanım Alanları
Coğrafi konum; "yakınımdaki mağazayı bul", teslimat görevlisini harita üzerinde izleme, mevcut şehre göre hava durumu, konum etiketli gönderiler ve kullanıcı ile hedef arasındaki mesafe hesaplamaları gibi özellikleri mümkün kılar. İzin istemeden önce uygulamanızın konumlarına neden ihtiyaç duyduğunu kullanıcılara her zaman açıkça anlatın.
Geliştirme Sırasında Coğrafi Konumu Sınama
Chrome DevTools, sahte bir cihaz konumu ayarlamanıza olanak tanır. DevTools'u açın, üç noktalı menüye gidin, Diğer araçlar'ı ve ardından Sensörler'i seçin. Herhangi bir konumu taklit etmek için enlem ve boylam koordinatlarını girebilirsiniz. Bu yöntem, konuma bağlı özellikleri sınamak için fiziksel olarak başka bir yere gitmekten çok daha hızlıdır.
Coğrafi Konum Hata Kodları
GeolocationPositionError nesnesinin 1 kodu ne anlama gelir?
Ders Özeti: React'te Coğrafi Konum API'si
Tek seferlik okuma için getCurrentPosition, sürekli izleme için watchPosition kullanın. useEffect temizleme işlevinde her zaman clearWatch çağrısı yapın. idle, loading, success ve error durumlarına sahip bir useGeolocation kancası oluşturun. İzin reddini uygun biçimde ele alın ve coğrafi konumun üretimde HTTPS gerektirdiğini unutmayın.
Sıkça Sorulan Sorular
“React Bileşenlerinde Geolocation API” dersi ücretsiz mi?
Evet — “React Bileşenlerinde Geolocation API” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.
“React Bileşenlerinde Geolocation API” dersinde ne öğreneceğim?
Geolocation API ile kullanıcının konumunu isteyip izleyin, izinleri yönetin ve izleyicileri temizleyin React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
React Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“React Bileşenlerinde Geolocation API” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu React Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Clipboard API: React'te Kopyalama ve Yapıştırma
- React Bileşenlerinde Geolocation API
- Notifications API ve İzin Yönetimi
- Kaydırmayla Tetiklenen Efektler için IntersectionObserver