getLocation
- Flutter kursu
- İleri seviye
- Ders 37/69
- 4 dk
getLocation ile anlık konum almayı öğrenirsin.
getLocation metodu
getLocation metodu, cihazın o anki konumunu alır. Asenkron bir metot olduğu için await ile beklenir ve bir LocationData döndürür. İlk çağrıda cihaz GPS sinyali topladığı için biraz gecikebilir.
final data = await location.getLocation();
print(data.latitude);async ve await
getLocation asenkron olduğu için çağıran fonksiyonun async olarak işaretlenmesi ve metodun await ile beklenmesi gerekir. Aksi halde derleme hatası alınır. Bu, Dart'taki tüm asenkron işlemlerde geçerli olan kuraldır.
void main() async {
final data = await location.getLocation();
}Uygulama Konum al ve yazdır
Bir Location örneği oluştur, getLocation ile konumu bekle ve enlemi yazdır.
Başlangıç kodu
class LocationData {
final double latitude;
final double longitude;
LocationData(this.latitude, this.longitude);
}
class Location {
Future<LocationData> getLocation() async => LocationData(41.0, 29.0);
}
void main() async {
// getLocation ile konum al
// enlemi yazdır
}Örnek çözüm
class LocationData {
final double latitude;
final double longitude;
LocationData(this.latitude, this.longitude);
}
class Location {
Future<LocationData> getLocation() async => LocationData(41.0, 29.0);
}
void main() async {
final location = Location();
final data = await location.getLocation();
print(data.latitude);
}Beklenen çıktı
41.0
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 getLocation metodu ne döndürür?
- Future<String>
- Stream<LocationData>
- Future<void>
- Future<LocationData> Doğru cevap
Açıklama: getLocation asenkron bir LocationData döndürür; Stream değil Future'dır.
2 getLocation çağır
final data = await location.____;
final data = await location.getLocation();
Açıklama: Konum almak için getLocation metodu parantezlerle çağrılır ve await ile beklenir.
3 getLocation parçaları
| Kavram | Anlamı |
|---|---|
getLocation |
Anlık konum alır |
await |
Asenkron bekler |
LocationData |
Konum verisi |
async |
Fonksiyon işaretçisi |