コード例 #1
0
        private MapsApiResult Query(string query)
        {
            MapsApiResult queryResultObject = null;

            try
            {
                if (!query.Contains(CountrySearchQueryExtension))
                {
                    query = string.Format("{0}{1}", query, CountrySearchQueryExtension);
                }

                query = Uri.EscapeDataString(query);

                string apiQueryAddress = this.CreateQueryString(query);
                string queryResult     = this.webClient.DownloadString(apiQueryAddress);

                queryResultObject = JsonConvert.DeserializeObject <MapsApiResult>(queryResult);
                //Json.Decode<MapsApiResult>(queryResult);
            }
            catch (Exception)
            {
                queryResultObject = null;
            }
            return(queryResultObject);
        }
コード例 #2
0
        public Coordinate GetCoordinateFromStringExpression(string zip)
        {
            MapsApiResult resultObject = this.Query(zip);
            Coordinate    coordinate   = null;

            if (resultObject != null && resultObject.status == "OK")
            {
                var firstOrDefault = resultObject.results
                                     .FirstOrDefault(obj => this.ContainsGermanResultObject(obj.address_components));

                if (firstOrDefault != null)
                {
                    Location currentLocation = firstOrDefault
                                               .geometry
                                               .location ?? new Location();
                    coordinate = new Coordinate()
                    {
                        Latitude  = currentLocation.lat,
                        Longitude = currentLocation.lng
                    };
                }
            }

            return(coordinate);
        }