Широта и долгота почтового индекса? - PullRequest
0 голосов
/ 22 октября 2011

Привет, я пытаюсь получить широту и долготу данного почтового индекса.

Это мой код

 public ActionResult GoogleMap(string address, string Zip)
    {
        string Country = "US";
        int CustomerID = Convert.ToInt32(Session["CustomerID"]);
        string DefaultLocation = PrescriberModel.GetDefaultLocation((long)CustomerID).Address.ToString();
        ViewBag.PL = address;
        ViewBag.DF = DefaultLocation;

        string Lat = "";
        string Lon = "";
        string PostUrl = "http://ws.geonames.org/postalCodeSearch?postalcode=" + Zip + "&maxRows=10&country=" + Country;
       // WebRequest webRequest= null;
        WebResponse webResponse = webRequest.GetResponse();
        if (webResponse == null)
        { }
        else
        {
            StreamReader sr = new StreamReader(webResponse.GetResponseStream());
            string Result = sr.ReadToEnd().Trim();
            if (Result != "")
            {
                // Load the response into an XML doc
                XmlDocument xdoc = new XmlDocument();
                xdoc.LoadXml(Result);
                //  Navigate to latitude node
                XmlNodeList name = xdoc.GetElementsByTagName("lat");
                if (name.Count > 0)
                {
                    Lat = name[0].InnerText;
                }
                //  Navigate to longitude node
                name = xdoc.GetElementsByTagName("lng");
                if (name.Count > 0)
                {
                    Lon = name[0].InnerText;
                }
            }
        }

        ViewBag.Lat = Lat;
        ViewBag.Lng = Lon;
        return PartialView("_GoogleMap");
    }

Я взял этот код с здесь

Но это выдает ошибку для webRequest.GetResponse (); Я заметил, что в этом примере WebRequest не создается, более того, WebRequest - это абстрактный класс, он не можетэкземпляр.

Любая помощь, как я могу заставить его работать код.Спасибо за ваше время.

1 Ответ

0 голосов
/ 22 октября 2011

Проблема в том, что я / мы не можем видеть, как создается ваш экземпляр webRequest. Это будет работать.

        HttpWebRequest request = (HttpWebRequest) WebRequest.Create("http://ws.geonames.org/postalCodeSearch?postalcode=" + Zip + "&maxRows=10&country=" + Country);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
...