PWA Fundvelo der Caritas.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

NominatimService.cs 1.2KB

123456789101112131415161718192021222324252627282930
  1. using cwebplusApp.Shared.Models;
  2. using Json.Net;
  3. using System;
  4. using System.Globalization;
  5. using System.Net.Http;
  6. using System.Threading.Tasks;
  7. namespace cwebplusApp.Shared.Services {
  8. public class NominatimService {
  9. public static async Task<NominatimReverseAddress> GetAddressForCoordinates(double latitude, double longitude) {
  10. string lat = latitude.ToString("0.0000000000", CultureInfo.InvariantCulture);
  11. string lng = longitude.ToString("0.0000000000", CultureInfo.InvariantCulture);
  12. HttpClient httpClient = new() { BaseAddress = new Uri("https://nominatim.openstreetmap.org/") };
  13. try {
  14. HttpResponseMessage httpResult = await httpClient.GetAsync(string.Format("reverse?format=json&lat={0}&lon={1}", lat, lng));
  15. if (httpResult.StatusCode == System.Net.HttpStatusCode.OK) {
  16. NominatimReverseAddress addressDto = JsonNet.Deserialize<NominatimReverseAddress>(await httpResult.Content.ReadAsStringAsync());
  17. return addressDto;
  18. }
  19. return null;
  20. } catch (Exception) {
  21. return null;
  22. }
  23. }
  24. }
  25. }