| 1234567891011121314151617181920212223242526272829303132 |
- using cwebplusApp.Shared.Models;
- using Newtonsoft.Json;
- //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 ValueTask<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&accept-language={0}&lat={1}&lon={2}",
- CultureInfo.CurrentCulture.Name, lat, lng));
- if (httpResult.StatusCode == System.Net.HttpStatusCode.OK) {
- string contentStr = await httpResult.Content.ReadAsStringAsync();
- NominatimReverseAddress addressDto = JsonConvert.DeserializeObject<NominatimReverseAddress>(contentStr);
- return addressDto;
- }
- return null;
-
- } catch (Exception) {
- return null;
- }
- }
- }
- }
|