private MapsApiResult Query(string query) { MapsApiResult queryResultObject = null; try { if (!query.Contains(CountrySearchQueryExtension)) { query = string.Format("{0}{1}", query, CountrySearchQueryExtension); } query = Uri.EscapeDataString(query); string apiQueryAddress = this.CreateQueryString(query); string queryResult = this.webClient.DownloadString(apiQueryAddress); queryResultObject = JsonConvert.DeserializeObject <MapsApiResult>(queryResult); //Json.Decode<MapsApiResult>(queryResult); } catch (Exception) { queryResultObject = null; } return(queryResultObject); }
public Coordinate GetCoordinateFromStringExpression(string zip) { MapsApiResult resultObject = this.Query(zip); Coordinate coordinate = null; if (resultObject != null && resultObject.status == "OK") { var firstOrDefault = resultObject.results .FirstOrDefault(obj => this.ContainsGermanResultObject(obj.address_components)); if (firstOrDefault != null) { Location currentLocation = firstOrDefault .geometry .location ?? new Location(); coordinate = new Coordinate() { Latitude = currentLocation.lat, Longitude = currentLocation.lng }; } } return(coordinate); }