コード例 #1
0
ファイル: Form1.cs プロジェクト: giserh/EmotionMap
 /// <summary>
 /// 获取在区域范围内的点
 /// </summary>
 /// <param name="streamWriter"></param>
 private void ExtractPts(StreamReader streamReader)
 {
     try
     {
         //读取Flickr数据
         string flickrDataLine = streamReader.ReadLine();
         while (flickrDataLine != null)
         {
             //读取一行Flickr数据并进行处理
             FlickrData flickrData = new FlickrData(flickrDataLine);
             foreach (Region region in regionList)
             {
                 //判断是否在区域内
                 if (region.IsInBoundary(flickrData.longitude, flickrData.latitude))
                 {
                     //如果在区域内则写入文件
                     region.WritePts(flickrData);
                 }
             }
             flickrDataLine = streamReader.ReadLine();
         }
         streamReader.Close();
     }
     catch (Exception ex)
     {
         ErrorSolve(ex);
     }
 }
コード例 #2
0
ファイル: Form1.cs プロジェクト: giserh/EmotionMap
 /// <summary>
 /// 写入文件
 /// </summary>
 /// <param name="flickrData"></param>
 /// <returns></returns>
 public bool WritePts(FlickrData flickrData)
 {
     try
     {
         streamWriter.WriteLine(flickrData.FlickrDataWrite());
         return(true);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
         return(false);
     }
 }
コード例 #3
0
    IEnumerator DownloadFlickrGalleryData()
    {
        string baseUrl = FlickrAPI.GetGalleryUrl(ID_GALLERY);

        using (WWW www = new WWW(baseUrl))
        {
            yield return(www);

            string     textToDeserialize = www.text;
            FlickrData flickrData        = JsonConvert.DeserializeObject <FlickrData>(textToDeserialize);
            galleryController.Initialize(flickrData);
        }
    }
コード例 #4
0
        private async Task GetCover(string PlaceName)
        {
            _FlickrImages = (await FlickrData.GetFlickrImages(PlaceName));
            if (_FlickrImages.stat == "ok")
            {
                //new Random().Next(_FlickrImages.query.results.photo.Count);
                var CoverObj = _FlickrImages.photos.photo[new Random().Next(_FlickrImages.photos.photo.Count)];
                SetCover(CoverObj);
                //CoverCoprightInfoButton.Visibility = Visibility.Visible;

                _CityData.CoverImage   = CoverObj.ImageAddress;
                CityImages.ItemsSource = _FlickrImages.photos.photo;
            }
        }
コード例 #5
0
        public void FlickrData_NullValues_ValuesAReEmpty()
        {
            // Arrange
            var mockFlickrData = new FlickrData()
            {
                Title         = null,
                PublishedDate = null,
                Image         = null
            };

            // Act


            // Assert
            Assert.AreEqual(mockFlickrData.Title, null);
            Assert.AreEqual(mockFlickrData.PublishedDate, null);
            Assert.AreEqual(mockFlickrData.Image, null);
        }
コード例 #6
0
        public void FlickrData_ValidInput_ValuesMatch()
        {
            // Arrange
            const string TITLE          = "mock title";
            const string DATE           = "mock date";
            const string IMAGE          = "mock image";
            var          mockFlickrData = new FlickrData()
            {
                Title         = TITLE,
                PublishedDate = DATE,
                Image         = IMAGE
            };

            // Act


            // Assert
            Assert.AreEqual(mockFlickrData.Title, TITLE);
            Assert.AreEqual(mockFlickrData.PublishedDate, DATE);
            Assert.AreEqual(mockFlickrData.Image, IMAGE);
        }
コード例 #7
0
 public void SetFlickrData(FlickrData data)
 {
     flickrData = data;
 }
コード例 #8
0
 public void Initialize(FlickrData flickrdata)
 {
     flickrDataContainer.SetFlickrData(flickrdata);
     TryToCreateGalleryItems();
 }
コード例 #9
0
ファイル: Flickr.cs プロジェクト: Kendzeyyy/Aalto_VR_Project
    public IEnumerator OnCollisionEnter(Collision collision)
    {
        Texture2D tex;

        tex = new Texture2D(4, 4, TextureFormat.DXT1, false);

        //api call example
        //https://api.flickr.com/services/rest/?method=flickr.people.getPhotos&api_key=0579d5b4256b91929f80cea37fb63f8c&user_id=134653989%40N07&min_upload_date=1.1.2018&max_upload_date=31.12.2018&min_taken_date=&max_taken_date=&content_type=&format=json&nojsoncallback=1&auth_token=72157702486478861-fa74bb8610aa766e&api_sig=4122e3678f6107dc4ad280c07952b2f3
        var noSignUrl = "https://api.flickr.com/services/rest/" +
                        "?method=flickr.people.getPhotos" +
                        "&api_key=0579d5b4256b91929f80cea37fb63f8c" +
                        "&user_id=134653989%40N07" +
                        "&min_upload_date=1.1.2018=" +
                        "&max_upload_date=31.12.2018" +
                        "&min_taken_date=" +
                        "&max_taken_date=" +
                        "&content_type=" +
                        "&format=json" +
                        "&nojsoncallback=1" +
                        "&auth_token=72157702486478861-fa74bb8610aa766e" +
                        "&api_sig=f7b42ae3f1fc127d93bc0f141bdbf590";


        //this one we use, values binded to get flexible usage
        url = "https://api.flickr.com/services/rest/" +
              "?method=flickr.people.getPhotos" +
              "&api_key={0}" +
              "&user_id={1}" +
              "&min_upload_date=" +
              "&max_upload_date=" +
              "&min_taken_date={2}" +
              "&max_taken_date={3}" +
              "&content_type=" +
              "&format=json" +
              "&nojsoncallback=1";


        //use taken dates instead of upload dates for easier modification. done beforehand on flickr pics.
        // minTakenDate = "2017-8-1";    yyyy-mm-dd
        //maxTakenDate = "2017-8-16";

        //access other script like this
        MonthYearValues myv = gameObject.AddComponent <MonthYearValues>();
        FlickrValues    fv  = gameObject.AddComponent <FlickrValues>();

        myv.Load();
        //dont run it again, just access values like this.
        MonthYearValues myv1 = gameObject.GetComponent <MonthYearValues>();

        //get values from files
        minTakenDate = myv1.apiStartTakenDay;
        maxTakenDate = myv1.apiEndTakenDay;

        Debug.Log("monthyearvalues apistarttakenday...: " + minTakenDate + maxTakenDate);
        var baseUrl = string.Format(url, myApiKey, userid, minTakenDate, maxTakenDate);

        Debug.Log("this is the api url request BASEURL " + baseUrl);

        //ok so httpwebreq cant handle SHA256 Certificate, use unitywebrequest or www instead.
        using (WWW www = new WWW(baseUrl))
        {
            yield return(www);

            Debug.Log("this is WWW call " + www);

            string flickrResult = www.text;
            Debug.Log("this is supposed to be the json from server: " + flickrResult);
            FlickrData apiData = JsonConvert.DeserializeObject <FlickrData>(flickrResult);

            foreach (Photo data in apiData.photos.photo)
            {
                //retrieve one photo:
                // http://farm{farmid}.staticflickr.com/{server-id}/{id}_{secret}{size}.jpg

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

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

                Debug.Log("this is  image url for one image.. hopefully: " + baseFlickrUrl);
                // yield return baseFlickrUrl;
                //add picture's address to list..
                flickrpicturelist.Add(baseFlickrUrl);
            }
            //access list of pictures with certain api request like this
            //ATM accessing only 1st picture of the list... modify the way to see them all before changing this!
            using (WWW xxx = new WWW(flickrpicturelist[apiTracker.apiCount % flickrpicturelist.Count]))
            {
                yield return(xxx);

                xxx.LoadImageIntoTexture(tex);
                GetComponent <Renderer>().material.mainTexture = tex;
            }
        }
    }