Flutter’da Konum Servisleri Kullanımı — 1

Ramazan Gülşen
Flutter Students Club
3 min readApr 19, 2022

Geolocator ile Kullanıcı Konumunun Elde Edilmesi

Merhabalar. Şu anda uğraştığım proje genelinde konumlar ile çalışmam gerekiyor. Fakat bu konuda Türkçe yazılı kaynak bulmakta zorluk çektim. Bundan dolayı Flutter’da konum üzerinde çalışma yapabilmen için bir makale serisi oluşturmaya karar verdim. Şu anda birinci bölümünü okuduğun makalenin ilerleyen zamanlarda devamı gelecek :)

Mobil bir uygulama yazarken konum servislerinin sıkça kullanıldığını göreceksin. Geolocator kütüphanesi kullanıcının konumuna erişmende sana pratik ve etkili bir çözüm sunmakta. Ayrıca get kütüphanesi ile uygulama performansını artıracağız!

Öncelikle konum servisleri ile işlem yapacağımız için mutlaka işletim sistemi izinlerini almamız gerekli. Bunun için aşağıda Android ve IOS olmak üzere 2 farklı işletim sistemi için de gerekli bilgiler mevcut.

Android işletim sistemi için projende bulunan android/app/main/AndroidManifest.xml dosyasına ulaşman gerekli. Bu dosyada Android işletim sistemi için gerekli izinler alınmakta.

Aşağıdaki dosyada bulunan 3. ,35. ve 36. satırda bulunan kodları Manifest dosyana ekledikten sonra Android işletim sistemi için gerekli izinleri almış olacaksın.

Sırada IOS işletim sistemi var. IOS işletim sistemindeki izin dosyasına erişmek için “ios/Runner/Info.plist” dosyasının içine girmelisin. Bu dosyada aşağıda kodunu paylaştığım bölümde 31. ve 39. satırlar(31 ve 39 dahil) arasında kalan kodu kendi dosyandaki bölüme yapıştırmalısın. Bu sayede IOS işletim sisteminde de gerekli izinleri almış olduk. Artık uygulamanın temelini atmış olduk.

Sıra Geolocator kütüphanesini uygulamamıza eklemekte. Proje dosyanda bulunan pubspec.yaml dosyana girdiğinde biraz aşağılara indiğinde dependencies bölümünü görmen gerek. Bu bölüme aşağıda bulunduğu gibi geolocator ve get kütüphanelerini ekleyerek başlayabilirsin.

Bunları da hallettiğimize göre artık kodlama kısmına geçebiliriz!

Öncelikle konum izinlerinin alınıp alınmadığını bir sınıfta kontrol etmeliyiz. Bu kontrol sonrasında elde ettiğimiz bilgiye göre de kullanıcıya aksiyonda bulunmamız gerekecek.

GeolocatorController adlı bir sınıf açarak GetxController’dan kalıtıyoruz. Get paketi sayesinde uygulamanın state yönetimini de maksimum performansla yapabiliyoruz. Get paketinin bize sunduğu bu Controller sınıfı uygulamamızın performansını daha da artıracak.

Şimdi de uygulamamızın arayüzünü kodlayalım.

Main fonksiyonumuzu oluşturduk. Scaffold body’sine HomePage widgetini gönderdik.

Uygulamamız bu kadar! Artık konumumuza x ve y koordinatları üzerinde erişebiliyoruz.

Şimdi ekran yakınlaştırmasını biraz küçültmen gerekecek. Uygulamanın izinleri doğru şekilde aldığını görebilmen için aşağıya bir gif ekledim.

İzinleri verdikten sonra konumu göster butonu ile konsola koordinatlar yazdırılmış olacak.

Şimdi kendini alkışlamalısın. Artık sen de konum servisleri ile işlemler yapabiliyorsun!

Bu serinin devamında elde ettiğimiz konumlarla bir takım işlemler gerçekleştireceğiz. Mutlaka takipte kal!

Aşağıya bana ulaşabileceğin linkler ekliyorum. Takıldığın her noktada ulaşabilirsin. Birlikte geliştireceğiz, birlikte üreteceğiz.

Kendine cici bak, rastgelsin!

Kaynaklar: https://pub.dev/

Twitter: https://twitter.com/jayjayramco

Linkedin: https://www.linkedin.com/in/ramazangulsen

Kaynak Kodlar:

--

--