/// <summary>
        ///     Attempt to get an address or location from a set of coordinates
        /// </summary>
        /// <param name="req">Reverse geocode request object</param>
        /// <returns>A single reverse geocode response</returns>
        public async Task <GeocodeResponse> ReverseGeocode(ReverseGeocodeRequest req)
        {
            var result = await WebInterface.GetRequest <GeocodeResponse>(url, buildQueryString(req)).ConfigureAwait(false);

            return(result);
        }
        /// <summary>
        /// Lookup the address of one or multiple OSM objects like node, way or relation.
        /// </summary>
        /// <param name="req">Search request object</param>
        /// <returns>Array of lookup reponses</returns>
        public async Task <AddressLookupResponse[]> Lookup(AddressSearchRequest req)
        {
            var result = await WebInterface.GetRequest <AddressLookupResponse[]>(url, buildQueryString(req)).ConfigureAwait(false);

            return(result);
        }