static void Main(string[] args) { while (true) { Console.WriteLine("--- Please enter your search query (enter Q to exit) ---"); string query = ReadQueryFromInput(); if (query.ToUpper().Equals("Q")) { break; } query = NormalizeQuery(query); using (WebClient client = new WebClient()) { AddHeaders(client); string url = String.Format("http://maps.googleapis.com/maps/api/geocode/xml?address={0}", query); string rawXml = client.DownloadString(url); GoogleMapsXmlReader mapReader = new GoogleMapsXmlReader(rawXml); WriteResults(mapReader); Console.WriteLine(); Console.WriteLine(); } } }
private static void WriteResults(GoogleMapsXmlReader mapReader) { Console.WriteLine(); Console.WriteLine("--- WebClient result ---"); Console.WriteLine(String.Format("Status: {0}", mapReader.GetStatus())); Console.WriteLine(String.Format("Number of results: {0}", mapReader.Count)); IList<GoogleMapsAddress> addresses = mapReader.GetAddresses(); foreach (GoogleMapsAddress adress in addresses) { Console.WriteLine(String.Format("- {0}", adress.FormattedAddress)); } }