AcManager.Tools.Helpers.Api.YahooApiProvider.LocateAsync C# (CSharp) Метод

LocateAsync() приватный Метод

private LocateAsync ( [ address ) : Task
address [
Результат Task
        public static async Task<GeoTagsEntry> LocateAsync([CanBeNull] string address) {
            var requestUri = string.Format(RequestLocationUri, HttpUtility.UrlEncode(CleanUpRegex.Replace(address ?? "", " ")));
            using (var order = KillerOrder.Create(new WebClient(), 5000)) {
                var data = await order.Victim.DownloadStringTaskAsync(requestUri);
                var ns = XNamespace.Get(@"http://where.yahooapis.com/v1/schema.rng");
                var centroid = XDocument.Parse(data).Descendants(ns + @"centroid").FirstOrDefault();
                var latitude = centroid?.Element(ns + @"latitude");
                var longitude = centroid?.Element(ns + @"longitude");
                if (latitude == null || longitude == null) throw new Exception("Invalid response");
                return new GeoTagsEntry(FlexibleParser.ParseDouble(latitude.Value),
                        FlexibleParser.ParseDouble(longitude.Value));
            }
        }
    }
YahooApiProvider