public TempPolicy GetAddressGeocode(TempPolicy policy)
        {
            string requestUri = $"https://maps.googleapis.com/maps/api/geocode/json?address={Uri.EscapeDataString(policy.Address)}&key=AIzaSyD93rX1ZlgbN3tEieWTMtqH9BwoXEHLDI0";
            var    result     = new System.Net.WebClient().DownloadString(requestUri);
            GoogleMapApiResponse googleResponse = JsonConvert.DeserializeObject <GoogleMapApiResponse>(result);

            if (googleResponse.results.Length != 0)
            {
                policy.Latitude  = googleResponse.results.First().geometry.location.lat.ToString();
                policy.Longitude = googleResponse.results.First().geometry.location.lng.ToString();
            }

            return(policy);
        }
        public Policy GetAddressGeocode(Policy policy)
        {
            var    ApiKey     = AppSettings.Configuration["JsMapApiKey"];
            string requestUri = $"https://maps.googleapis.com/maps/api/geocode/json?address={Uri.EscapeDataString(policy.Address)}&key={ApiKey}";
            var    result     = new System.Net.WebClient().DownloadString(requestUri);
            GoogleMapApiResponse googleResponse = JsonConvert.DeserializeObject <GoogleMapApiResponse>(result);

            if (googleResponse.results.Length != 0)
            {
                policy.Latitude  = googleResponse.results.First().geometry.location.lat.ToString();
                policy.Longitude = googleResponse.results.First().geometry.location.lng.ToString();
            }

            return(policy);
        }
Exemple #3
0
        private GoogleMapApiResponse GoogleLocationApiResultParser(string locationDataString)
        {
            var locationData = JsonConvert.DeserializeObject <LocationApiResponse>(locationDataString);

            string fullAddress = locationData.results[0].formatted_address,
                   city        = string.Empty,
                   state       = string.Empty,
                   country     = string.Empty;

            foreach (var address in locationData.results[0].address_components)
            {
                if (address.types.Exists(t => t == "locality"))
                {
                    city = address.long_name;
                    continue;
                }
                if (city == string.Empty && address.types.Exists(t => t == "sublocality"))
                {
                    city = address.long_name;
                    continue;
                }
                if (city == string.Empty && address.types.Exists(t => t == "postal_town"))
                {
                    city = address.long_name;
                    continue;
                }
                if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_1"))
                {
                    city = address.long_name;
                    continue;
                }
                if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_2"))
                {
                    city = address.long_name;
                    continue;
                }
                if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_3"))
                {
                    city = address.long_name;
                    continue;
                }
                if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_4"))
                {
                    city = address.long_name;
                    continue;
                }
                if (city == string.Empty && address.types.Exists(t => t == "sublocality_level_5"))
                {
                    city = address.long_name;
                    continue;
                }
                if (city == string.Empty && address.types.Exists(t => t == "administrative_area_level_3"))
                {
                    city = address.long_name;
                    continue;
                }
                if (state == string.Empty && address.types.Exists(t => t == "administrative_area_level_2"))
                {
                    state = address.long_name;
                    continue;
                }

                if (address.types.Exists(t => t == "administrative_area_level_1"))
                {
                    state = address.long_name;
                    continue;
                }
                if (country == string.Empty && address.types.Exists(t => t == "country"))
                {
                    country = address.long_name;
                    continue;
                }
            }

            GoogleMapApiResponse locationResult = new GoogleMapApiResponse
            {
                FullAddress = fullAddress,
                CityName    = city,
                StateName   = state,
                CountryName = country,
                lat         = locationData.results[0].geometry.location.lat,
                lng         = locationData.results[0].geometry.location.lng
            };

            return(locationResult);
        }