public static ForwardGeocodingResult AsMapsApiGeocodingResult(this MapBoxGeocodingResponse value)
        {
            var response = new ForwardGeocodingResult
            {
                Results = value.Features.Select(
                    f =>
                        new Result
                        {
                            Boundry = new BoundingBox
                            {
                                NorthEast = new Location { Latitude = f.BBox.MinX, Longitude = f.BBox.MinY },
                                SouthWest = new Location { Latitude = f.BBox.MaxX, Longitude = f.BBox.MaxY },
                            },
                            Id = f.Id,
                            Location = new Location
                            {
                                Latitude = f.Center.Y,
                                Longitude = f.Center.X
                            },
                            Address = new Address
                            {
                                FullAddress = f.PlaceName,
                                PropertyId = f.Address,
                                Street = f.Text,
                                SubLocality = GetMapBoxAddressComponent(f.Context, "neighborhood"),
                                Locality = GetMapBoxAddressComponent(f.Context, "locality"),
                                Town = GetMapBoxAddressComponent(f.Context, "place"),
                                Region = GetMapBoxAddressComponent(f.Context, "region"),
                                County = GetMapBoxAddressComponent(f.Context, "region"),
                                Country = GetMapBoxAddressComponent(f.Context, "country"),
                                PostalCode = GetMapBoxAddressComponent(f.Context, "postcode"),
                            }
                        }
                    )
            };

            return response;
        }
        public static ForwardGeocodingResult AsMapsApiGeocodingResult(this GoogleGeocodingResponse value)
        {
            var response = new ForwardGeocodingResult
            {
                Results = value.Results.Select(
                    r =>
                        new Result
                        {
                            Boundry = r.Geometry.Bounds == null
                                ? null
                                : new BoundingBox
                                {
                                    NorthEast = new Location
                                    {
                                        Latitude = r.Geometry.Bounds.NorthEast.Latitude,
                                        Longitude = r.Geometry.Bounds.NorthEast.Longitude
                                    },
                                    SouthWest = new Location
                                    {
                                        Latitude = r.Geometry.Bounds.SouthWest.Latitude,
                                        Longitude = r.Geometry.Bounds.SouthWest.Longitude
                                    }
                                },
                            Id = r.PlaceId,
                            Location = new Location
                            {
                                Latitude = r.Geometry.Location.Latitude,
                                Longitude = r.Geometry.Location.Longitude
                            },
                            Address = new Address
                            {
                                FullAddress = r.FormattedAddress,
                                PropertyId = GetGoogleAddressComponent(r.AddressComponents, "street_number"),
                                Street = GetGoogleAddressComponent(r.AddressComponents, "route"),
                                SubLocality = GetGoogleAddressComponent(r.AddressComponents, "sublocality_level_1"),
                                Locality = GetGoogleAddressComponent(r.AddressComponents, "locality"),
                                Town = GetGoogleAddressComponent(r.AddressComponents, "postal_town"),
                                Region = GetGoogleAddressComponent(r.AddressComponents, "administrative_area_level_1"),
                                County = GetGoogleAddressComponent(r.AddressComponents, "administrative_area_level_2"),
                                Country = GetGoogleAddressComponent(r.AddressComponents, "country"),
                                PostalCode = GetGoogleAddressComponent(r.AddressComponents, "postal_code")
                            }
                        })
            };

            return response;
        }