public TempPolicy GetAddressGeocode(TempPolicy policy) { string requestUri = $"https://maps.googleapis.com/maps/api/geocode/json?address={Uri.EscapeDataString(policy.Address)}&key=AIzaSyD93rX1ZlgbN3tEieWTMtqH9BwoXEHLDI0"; var result = new System.Net.WebClient().DownloadString(requestUri); GoogleMapApiResponse googleResponse = JsonConvert.DeserializeObject <GoogleMapApiResponse>(result); if (googleResponse.results.Length != 0) { policy.Latitude = googleResponse.results.First().geometry.location.lat.ToString(); policy.Longitude = googleResponse.results.First().geometry.location.lng.ToString(); } return(policy); }
public Policy GetAddressGeocode(Policy policy) { var ApiKey = AppSettings.Configuration["JsMapApiKey"]; string requestUri = $"https://maps.googleapis.com/maps/api/geocode/json?address={Uri.EscapeDataString(policy.Address)}&key={ApiKey}"; var result = new System.Net.WebClient().DownloadString(requestUri); GoogleMapApiResponse googleResponse = JsonConvert.DeserializeObject <GoogleMapApiResponse>(result); if (googleResponse.results.Length != 0) { policy.Latitude = googleResponse.results.First().geometry.location.lat.ToString(); policy.Longitude = googleResponse.results.First().geometry.location.lng.ToString(); } return(policy); }
private GoogleMapApiResponse GoogleLocationApiResultParser(string locationDataString) { var locationData = JsonConvert.DeserializeObject <LocationApiResponse>(locationDataString); string fullAddress = locationData.results[0].formatted_address, city = string.Empty, state = string.Empty, country = string.Empty; foreach (var address in locationData.results[0].address_components) { if (address.types.Exists(t => t == "locality")) { city = address.long_name; continue; } if (city == string.Empty && address.types.Exists(t => t == "sublocality")) { city = address.long_name; continue; } if (city == string.Empty && address.types.Exists(t => t == "postal_town")) { city = address.long_name; continue; } if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_1")) { city = address.long_name; continue; } if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_2")) { city = address.long_name; continue; } if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_3")) { city = address.long_name; continue; } if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_4")) { city = address.long_name; continue; } if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_5")) { city = address.long_name; continue; } if (city == string.Empty && address.types.Exists(t => t == "administrative_area_level_3")) { city = address.long_name; continue; } if (state == string.Empty && address.types.Exists(t => t == "administrative_area_level_2")) { state = address.long_name; continue; } if (address.types.Exists(t => t == "administrative_area_level_1")) { state = address.long_name; continue; } if (country == string.Empty && address.types.Exists(t => t == "country")) { country = address.long_name; continue; } } GoogleMapApiResponse locationResult = new GoogleMapApiResponse { FullAddress = fullAddress, CityName = city, StateName = state, CountryName = country, lat = locationData.results[0].geometry.location.lat, lng = locationData.results[0].geometry.location.lng }; return(locationResult); }