public JsonResult GetObject(float lat, float lon) { var reguestGET = WebRequest.Create("http://nominatim.openstreetmap.org/reverse?format=xml&lat=" + lat.ToString(new CultureInfo("en-US")) + "&lon=" + lon.ToString(new CultureInfo("en-US")) + "&addressdetails=1&accept-language=uk"); reguestGET.Proxy = null; var webResponse = reguestGET.GetResponse(); var stream = webResponse.GetResponseStream(); if (stream == null) { throw new Exception("Can't get response from server."); } var xmlDoc = new XmlDocument(); xmlDoc.Load(stream); var tagHouseNumber = (XmlElement)xmlDoc.GetElementsByTagName("house_number")[0]; var tagRoad = (XmlElement)xmlDoc.GetElementsByTagName("road")[0]; var osmObject = new OsmObject { Road = tagRoad == null ? null : tagRoad.InnerText, HouseNumber = tagHouseNumber == null ? null : tagHouseNumber.InnerText }; return(Json(osmObject, JsonRequestBehavior.AllowGet)); }
public JsonResult GetObject(float lat, float lon) { var reguestGET = WebRequest.Create("http://nominatim.openstreetmap.org/reverse?format=xml&lat=" + lat.ToString(new CultureInfo("en-US")) + "&lon=" + lon.ToString(new CultureInfo("en-US")) + "&addressdetails=1&accept-language=uk"); reguestGET.Proxy = null; var webResponse = reguestGET.GetResponse(); var stream = webResponse.GetResponseStream(); if (stream == null) { throw new Exception("Can't get response from server."); } var xmlDoc = new XmlDocument(); xmlDoc.Load(stream); var tagHouseNumber = (XmlElement)xmlDoc.GetElementsByTagName("house_number")[0]; var tagRoad = (XmlElement)xmlDoc.GetElementsByTagName("road")[0]; var osmObject = new OsmObject { Road = tagRoad == null ? null : tagRoad.InnerText, HouseNumber = tagHouseNumber == null ? null : tagHouseNumber.InnerText }; return Json(osmObject, JsonRequestBehavior.AllowGet); }