public async Task <Address[]> SearchAsync(double latitude, double longitude, string currentLanguage, GeoResult geoResult = null, bool searchPopularAddress = false) { var addressesInRange = new Address[0]; if (searchPopularAddress) { addressesInRange = GetPopularAddressesInRange(new Position(latitude, longitude)); } var addresses = geoResult != null ? geoResult.ConvertGeoResultToAddresses() : await _mapApi.GeocodeLocationAsync(latitude, longitude, currentLanguage); return(addressesInRange .Concat(addresses.Select(ToAddress)) .ToArray()); }
public Task <GeoAddress[]> GeocodeLocationAsync(double latitude, double longitude, string currentLanguage) { var requestParameter = GenerateGeocodeLocationRequestParameter(latitude, longitude, currentLanguage); return(GeocodeAsync(requestParameter, () => _fallbackGeocoder.GeocodeLocationAsync(latitude, longitude, currentLanguage))); }