| 123456789101112131415161718192021222324252627282930 |
- using cwebplusApp.Shared.Models;
- using Json.Net;
- using System;
- using System.Globalization;
- using System.Net.Http;
- using System.Threading.Tasks;
-
- namespace cwebplusApp.Shared.Services {
- public class NominatimService {
-
- public static async Task<NominatimReverseAddress> GetAddressForCoordinates(double latitude, double longitude) {
- string lat = latitude.ToString("0.0000000000", CultureInfo.InvariantCulture);
- string lng = longitude.ToString("0.0000000000", CultureInfo.InvariantCulture);
-
- HttpClient httpClient = new() { BaseAddress = new Uri("https://nominatim.openstreetmap.org/") };
- try {
- HttpResponseMessage httpResult = await httpClient.GetAsync(string.Format("reverse?format=json&lat={0}&lon={1}", lat, lng));
-
- if (httpResult.StatusCode == System.Net.HttpStatusCode.OK) {
- NominatimReverseAddress addressDto = JsonNet.Deserialize<NominatimReverseAddress>(await httpResult.Content.ReadAsStringAsync());
- return addressDto;
- }
- return null;
-
- } catch (Exception) {
- return null;
- }
- }
- }
- }
|