private Address[] ProcessWebResponse(WebResponse response)
        {
            XPathNavigator nav = this.LoadXmlResponse(response).CreateNavigator();

            this._namespaceManager = this.CreateXmlNamespaceManager(nav);
            GoogleStatusCode code = (GoogleStatusCode)int.Parse(this.EvaluateXPath("string(kml:kml/kml:Response/kml:Status/kml:code)", nav));
            List <Address>   list = new List <Address>();

            if (code == GoogleStatusCode.Success)
            {
                XPathExpression expr = nav.Compile("kml:kml/kml:Response/kml:Placemark");
                expr.SetContext(this._namespaceManager);
                XPathNodeIterator iterator = nav.Select(expr);
                while (iterator.MoveNext())
                {
                    list.Add(this.RetrieveAddress(iterator.Current));
                }
            }
            return(list.ToArray());
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="GoogleGeocodeResult"/> class.
 /// </summary>
 /// <param name="latitude">The latitude of the result.</param>
 /// <param name="longitude">The longitude of the result.</param>
 /// <param name="accuracyCode">The accuracy of the result.</param>
 /// <param name="statusCode">The status of the geocode request.</param>
 public GoogleGeocodeResult(double latitude, double longitude, GoogleAccuracyCode accuracyCode, GoogleStatusCode statusCode)
     : base(latitude, longitude)
 {
     this.accuracyCode = accuracyCode;
     this.statusCode = statusCode;
 }