예제 #1
0
        private Address ConvertGoogleAddress(GeocodeResult geocodeResult)
        {
            var address = new Address();

            address.PlaceId = geocodeResult.place_id;

            // very basic mapping TODO: handle more complex address types
            var streetNum  = GetAddressComponent(geocodeResult, "street_number");
            var streetName = GetAddressComponent(geocodeResult, "route");

            address.AddressLine1 = streetNum + " " + streetName;
            address.Location     = GetAddressComponent(geocodeResult, "locality");
            address.State        = GetAddressComponent(geocodeResult, "administrative_area_level_1");
            address.Postcode     = GetAddressComponent(geocodeResult, "postal_code");

            address.FormattedAddress = geocodeResult.formatted_address;

            return(address);
        }
예제 #2
0
 private static string GetAddressComponent(GeocodeResult result, string componentType)
 {
     return(result.address_components.FirstOrDefault(c => c.types.Contains(componentType))?.short_name);
 }