Geolocation.iOS.cs 742 B

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