PWA Fundvelo der Caritas.
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

NominatimService.cs 1.4KB

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