Geolocation.Android.cs 689 B

12345678910111213141516171819202122
  1. using InABox.Core;
  2. using Microsoft.Maui.Devices.Sensors;
  3. namespace InABox.Avalonia.Platform.Android;
  4. public class Android_Geolocation : DefaultGeolocation
  5. {
  6. public Logger? Logger { get; set; }
  7. public override async Task<GeoPoint?> GetLocationAsync(CancellationTokenSource cancel)
  8. {
  9. GeolocationRequest request =
  10. new GeolocationRequest(GeolocationAccuracy.Medium, TimeSpan.FromSeconds(10));
  11. var location =
  12. await Geolocation.Default.GetLocationAsync(request, cancel.Token);
  13. return location != null
  14. ? new GeoPoint((float)location.Latitude, (float)location.Longitude)
  15. : null;
  16. }
  17. }