public string findNearestStore(string zip, string storeType)
        {
            WebToStringService.ServiceClient proxyWebToString = new WebToStringService.ServiceClient();
            string longLat = getLatLong(zip);
            string radius  = "5000"; //5 km

            string url = "https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=" + longLat + "&radius=" + radius + "&type=" + storeType + "&key=AIzaSyDd4VayFwaSkajfB2HtiFz71A70uSthM4A";

            string webContent = proxyWebToString.GetWebContent(url);

            XmlDocument xmldoc = new XmlDocument();

            xmldoc.LoadXml(webContent);

            XmlNodeList elemList = xmldoc.GetElementsByTagName("name");

            // List<string> storeNames = new List<string>();
            string result = "";

            for (int i = 0; i < elemList.Count; i++)
            {
                //  storeNames.Add(elemList[i].InnerXml);
                result += elemList[i].InnerXml + ", ";
            }
            return(result);
        }
示例#2
0
        public int[] getCrimeData(int zipCode)
        {
            //insert valid zip code checks

            //Zip, ViolentCrime,MurderAndManslaughter,ForcibleRape,Robbery,AggravatedAssault,PropertyCrime,Burglary,LarcenyTheft,MotorVehicleTheft
            int[] crimeDataRateReturn = new int[10];
            WebToStringService.ServiceClient proxyWebToString = new WebToStringService.ServiceClient();

            string geoDataServiceUrl = "https://azure.geodataservice.net/GeoDataService.svc/GetUSDemographics?includecrimedata=true&zipcode=" + zipCode;

            string      xmlInString = proxyWebToString.GetWebContent(geoDataServiceUrl);
            XmlDocument xmldoc      = new XmlDocument();

            xmldoc.LoadXml(xmlInString);

            List <XmlNodeList> elemList = new List <XmlNodeList>();

            elemList.Add(xmldoc.GetElementsByTagName("ZipCode"));
            elemList.Add(xmldoc.GetElementsByTagName("ViolentCrime"));
            elemList.Add(xmldoc.GetElementsByTagName("MurderAndManslaughter"));
            elemList.Add(xmldoc.GetElementsByTagName("ForcibleRape"));
            elemList.Add(xmldoc.GetElementsByTagName("Robbery"));
            elemList.Add(xmldoc.GetElementsByTagName("AggravatedAssault"));
            elemList.Add(xmldoc.GetElementsByTagName("PropertyCrime"));
            elemList.Add(xmldoc.GetElementsByTagName("Burglary"));
            elemList.Add(xmldoc.GetElementsByTagName("LarcenyTheft"));
            elemList.Add(xmldoc.GetElementsByTagName("MotorVehicleTheft"));

            for (int i = 0; i < crimeDataRateReturn.Length; i++)
            {
                crimeDataRateReturn[i] = Convert.ToInt32(elemList[i][0].InnerText);
            }

            return(crimeDataRateReturn);
        }
示例#3
0
        /// <summary>
        /// Return latitude longitude information based on ZIP code
        /// </summary>
        /// <param name="zipCode"></param>
        /// <returns></returns>
        public string getLatitudeLongitude(int zipCode)
        {
            WebToStringService.ServiceClient proxyWebToString = new WebToStringService.ServiceClient();

            string geoDataServiceUrl = "https://azure.geodataservice.net/GeoDataService.svc/GetUSDemographics?includecrimedata=true&zipcode=" + zipCode;

            string      xmlInString = proxyWebToString.GetWebContent(geoDataServiceUrl);
            XmlDocument xmldoc      = new XmlDocument();

            xmldoc.LoadXml(xmlInString);

            XmlNodeList latitudeNode  = xmldoc.GetElementsByTagName("Latitude");
            string      latitude      = latitudeNode[0].InnerXml;
            XmlNodeList longitudeNode = xmldoc.GetElementsByTagName("Longitude");
            string      longitude     = longitudeNode[0].InnerXml;

            return(latitude + "," + longitude);
        }
        public string getLatLong(string zip)
        {
            WebToStringService.ServiceClient proxyWebToString = new WebToStringService.ServiceClient();
            //Find latitude longitude using google api;
            string locationApi   = "https://maps.googleapis.com/maps/api/geocode/xml?address=" + zip;
            string xmlLocContent = proxyWebToString.GetWebContent(locationApi);

            XmlDocument xmlDocLocApi = new XmlDocument();

            xmlDocLocApi.LoadXml(xmlLocContent);
            XmlNodeList parentNode = xmlDocLocApi.GetElementsByTagName("location");
            string      latlng     = "";

            foreach (XmlNode childNode in parentNode)
            {
                string lat = childNode.SelectSingleNode("lat").InnerXml;
                string lng = childNode.SelectSingleNode("lng").InnerXml;
                latlng = lat + "," + lng;
            }
            return(latlng);
        }