public GeocoderLocationGetRes GetLocationLatLonByType(string address, string types) { var res = new GeocoderLocationGetRes(); try { //string URL = "https://maps.googleapis.com/maps/api/geocode/xml?sensor=false&key=GoogleAPIKey&address=" + HttpUtility.UrlEncode(query); string URL = _configuration.GetValue <string>("URLGeoCodeByType"); string APIKey = _configuration.GetValue <string>("GoogleAPIKey"); URL = URL + "?key=" + APIKey; URL = URL + "&inputtype=textquery"; URL = URL + "&input=" + HttpUtility.UrlEncode(address); URL = URL + "&types=" + types; URL = URL + "&fields=formatted_address,name,geometry,place_id"; WebRequest request = WebRequest.Create(URL); request.Proxy = WebRequest.DefaultWebProxy; request.Credentials = CredentialCache.DefaultCredentials; request.Proxy.Credentials = CredentialCache.DefaultCredentials; using (WebResponse response = request.GetResponse()) { using (Stream stream = response.GetResponseStream()) { XDocument document = XDocument.Load(new StreamReader(stream)); XElement longitudeElement = document.Descendants("lng").FirstOrDefault(); XElement latitudeElement = document.Descendants("lat").FirstOrDefault(); if (longitudeElement != null && latitudeElement != null) { res.GeocoderLocation = new GeocoderLocation { Longitude = Double.Parse(longitudeElement.Value, CultureInfo.InvariantCulture), Latitude = Double.Parse(latitudeElement.Value, CultureInfo.InvariantCulture) }; res.ResponseStatus.Status = "Success"; } } } } catch (System.Exception ex) { Console.WriteLine(ex.Message); res.ResponseStatus.Status = "Failure"; res.ResponseStatus.ErrorMessage = ex.Message; } return(res); }
public async Task <GeocoderLocationGetRes> GetLatLogByAddressAndType([FromBody] GeocoderLocationGetReq request) { var response = new GeocoderLocationGetRes(); try { if (!string.IsNullOrEmpty(request.Address)) { response = _genericRepository.GetLocationLatLonByType(request.Address, request.Type); } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Address can not be blank."; } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message; } return(response); }