示例#1
0
        public async static Task<List<FlickrImage>> GetFlickrImages(
            string flickrApiKey, string topic,
            double latitude = double.NaN, 
            double longitude = double.NaN,
            double radius = double.NaN)
        {
            HttpClient client = new HttpClient();

            var baseUrl = getBaseUrl(flickrApiKey, topic, latitude, longitude, radius);
            string flickrResult = await client.GetStringAsync(baseUrl);
            //ResultTextBlock.Text = flickrResult;
            FlickrData apidata = JsonConvert.DeserializeObject<FlickrData>(flickrResult);
            List<FlickrImage> images = new List<FlickrImage>();
            if (apidata.stat == "ok")
            {
                foreach (Photo data in apidata.photos.photo)
                {
                    FlickrImage img = new FlickrImage();
                    //To retrieve one photo, use this format
                    //http://farm{farmid}.staticflickr.com/{server-id}/{id}_{secret}{size}.jpg
                    string photoUrl = "http://farm{0}.staticflickr.com/{1}/{2}_{3}";
                    string baseFlickrUrl = string.Format(photoUrl, data.farm, data.server, data.id, data.secret);
                    img.Image320 = new Uri(baseFlickrUrl + "_n.jpg");
                    img.Image1024 = new Uri(baseFlickrUrl + "_b.jpg");
                    images.Add(img);

                }
            }
            return images;

        }
        public async static Task <List <FlickrImage> > GetFlickrImages(
            string flickrApiKey,
            string topic,
            double latitude  = double.NaN,
            double longitude = double.NaN,
            double radius    = double.NaN
            )
        {
            HttpClient client = new HttpClient();

            string baseUrl = getBaseUrl(flickrApiKey, topic, latitude, longitude, radius);

            string flickrResult = await client.GetStringAsync(baseUrl);

            FlickrData apiData =
                JsonConvert.DeserializeObject <FlickrData>(flickrResult);

            List <FlickrImage> images = new List <FlickrImage>();

            if (apiData.stat == "ok")
            {
                foreach (Photo data in apiData.photos.photo)
                {
                    FlickrImage img = new FlickrImage();

                    // To retrieve one photo, use this format:
                    //http://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}{size}.jpg

                    string photoUrl = "http://farm{0}.staticflickr.com/{1}/{2}_{3}";

                    string baseFlickrUrl = string.Format(photoUrl,
                                                         data.farm,
                                                         data.server,
                                                         data.id,
                                                         data.secret);

                    img.Image320  = new Uri(baseFlickrUrl + "_n.jpg");
                    img.Image1024 = new Uri(baseFlickrUrl + "_b.jpg");

                    images.Add(img);
                }
            }
            return(images);
        }