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.3KB

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