コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }