예제 #1
0
        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)));
        }