Pada tutorial kali ini kita akan mencoba menggunakan salah satu API dari Xamarin Essentials yaitu Geolocation API.
Geolocation API digunakan untuk mengambil lokasi dari devices berupa informasi koordinat (latitude, dan longitude).
1. Buat halaman baru dengan nama XEGeolocation, kemudian tambahkan xaml berikut:
<StackLayout> <Button x:Name="btnGeolocation" Text="Geoloation" /> </StackLayout>
2. Tambahkan permission berikut pada Android Project. Tambahkan kode berikut pada file AssemblyInfo.cs.
[assembly: UsesPermission(Android.Manifest.Permission.AccessCoarseLocation)] [assembly: UsesPermission(Android.Manifest.Permission.AccessFineLocation)] [assembly: UsesFeature("android.hardware.location", Required = false)] [assembly: UsesFeature("android.hardware.location.gps", Required = false)] [assembly: UsesFeature("android.hardware.location.network", Required = false)]
3. Kemudian tambahkan kode berikut untuk mengambil informasi geolocation.
private async void btnGeolocation_Clicked(object sender, EventArgs e) { try { var request = new GeolocationRequest(GeolocationAccuracy.Medium); var location = await Geolocation.GetLocationAsync(request); if (location != null) { await DisplayAlert("Keterangan", $"Latitude: {location.Latitude}, Longitude: {location.Longitude}, Altitude: {location.Altitude}","OK"); } } catch (FeatureNotSupportedException fnsEx) { await DisplayAlert("Error", fnsEx.Message, "OK"); } catch (FeatureNotEnabledException fneEx) { await DisplayAlert("Error", fneEx.Message, "OK"); } catch (PermissionException pEx) { await DisplayAlert("Error", pEx.Message, "OK"); } catch (Exception ex) { await DisplayAlert("Error", ex.Message, "OK"); } }
4. Kemudian jalankan aplikasinya, jika anda belum mengaktifkan fitur lokasi pada devices, maka akan ditampilkan notifikasi sebagai berikut:
5. Agar aplikasi dapat digunakan aktifkan fitur location/GPS pada devices. Maka akan ditampilkan informasi geolocationnya.