// Use this for initialization void Start() { double result = Convert.ToDouble(geo_x); double result2 = Convert.ToDouble(geo_y); var point = new ParseGeoPoint(result2, result); ParseQuery <ParseObject> query = ParseObject.GetQuery("POST") .WhereWithinDistance("Post_Geo", point, ParseGeoDistance.FromKilometers(2.5)); query.FindAsync().ContinueWith(t => { IEnumerable <ParseObject> nearbyLocations = t.Result; foreach (var obj in nearbyLocations) { string text = obj ["postfield"].ToString(); string place = obj["geo_place"].ToString(); //string post = obj ["postfield"].ToString (); //labeltext.Add(post); Debug.Log(text); Debug.Log("資料庫傳回:" + place); } // nearbyLocations contains PlaceObjects within 5 miles of the user's location }); }
void OnClick() { xml_test geo = GameObject.Find("city_now").GetComponent <xml_test>(); geo_x = geo.geo_x; geo_y = geo.geo_y; //通过标签名称找到多有对象,前提是给预设起一个tag,这里我叫它player GameObject [] items = GameObject.FindGameObjectsWithTag("Player"); //当预设数量大于 0时 //删除列表的item for (var i = 0; i < items.Length; i++) { Destroy(items[i]); } //刷新UI scrollview.ResetPosition(); Loom.RunAsync(() => { ArrayList label_place = new ArrayList(); ArrayList label_time = new ArrayList(); ArrayList label_list = new ArrayList(); ArrayList post_Id = new ArrayList(); ArrayList photo_e = new ArrayList(); ArrayList user = new ArrayList(); ArrayList posttype = new ArrayList(); double result = Convert.ToDouble(geo_x); double result2 = Convert.ToDouble(geo_y); var point = new ParseGeoPoint(result2, result); var query = ParseObject.GetQuery("POST").WhereEqualTo("Location", city).WhereWithinDistance("Post_Geo", point, ParseGeoDistance.FromKilometers(2.5)).OrderByDescending("createdAt"); //query = query.Limit(limit); var queryTask = query.FindAsync(); IEnumerable <ParseObject> post = queryTask.Result; foreach (var obj in post) { string id = obj.ObjectId; string text = obj ["postfield"].ToString(); string place = obj["geo_place"].ToString(); string post_type = obj ["foo"].ToString(); string usr = obj["User"].ToString(); DateTime?updatedAt = obj.CreatedAt; int sum = obj.Get <int> ("Sum"); Debug.Log("資料庫TAG:" + sum); var imagefile = obj.Get <ParseFile> ("file"); if (imagefile.Name.Contains("none")) { Debug.Log("none"); photo_e.Add("0"); } else { Debug.Log("have"); photo_e.Add("1"); } string time = updatedAt.ToString(); label_time.Add(time); label_place.Add(place); post_Id.Add(id); label_list.Add(text); user.Add(usr); posttype.Add(post_type); //Debug.Log (updatedAt); Debug.Log("資料庫傳回:" + text); } String[] labelplace = (String[])label_place.ToArray(typeof(string)); String[] label_text = (String[])label_list.ToArray(typeof(string)); String[] labeltime = (String[])label_time.ToArray(typeof(string)); String[] postId = (String[])post_Id.ToArray(typeof(string)); String[] photo = (String[])photo_e.ToArray(typeof(string)); String[] userId = (String[])user.ToArray(typeof(string)); String[] Posttype = (String[])posttype.ToArray(typeof(string)); Loom.QueueOnMainThread(() => { for (i = 0; i < photo.Length; i++) { string type = Posttype[i]; string big = "big_" + type; Debug.Log(big); if (photo[i] == "1") { GameObject o = (GameObject)Instantiate(Resources.Load(big)); //为每个预设设置一个独一无二的名称 o.name = "all" + count; //将新预设放在Panel对象下面 o.transform.parent = GameObject.Find("list View").transform; UILabel post_text = GameObject.Find("list View/" + o.name + "/PostContent").GetComponent <UILabel>(); //picture = GameObject.Find("list View/"+o.name+"/photo").GetComponent<UITexture>(); test1 postid = GameObject.Find("list View/" + o.name + "/photo").GetComponent <test1>(); postid.postid = postId[i]; post_text.text = label_text[i]; UILabel postplace = GameObject.Find("list View/" + o.name + "/post_place").GetComponent <UILabel>(); postplace.text = labelplace[i]; AddLike Like = o.GetComponentInChildren <AddLike> (); Like.Post_Id = postId[i]; AddDislike DisLike = o.GetComponentInChildren <AddDislike>(); DisLike.Post_Id = postId[i]; RetrieveTags Tags = o.GetComponentInChildren <RetrieveTags>(); Tags.Post_Id = postId[i]; PostIdSender Sender = o.GetComponentInChildren <PostIdSender>(); Sender.Post_Id = postId[i]; ParameterSender PSender = o.GetComponentInChildren <ParameterSender>(); PSender.Post_Id = postId[i]; GetPoster poster = o.GetComponentInChildren <GetPoster>(); poster.UserAccount = userId[i]; Getuserphoto userphoto = o.GetComponentInChildren <Getuserphoto>(); userphoto.UserAccount = userId[i]; if (i > 0) { if (photo[i - 1] == "0") { Vector3 temp = new Vector3(0, -0.95f, 0); GameObject item = GameObject.Find(o.name); int ex_position = count - 1; //o.name="Q_list"+ex_position; GameObject ex_item = GameObject.Find("all" + ex_position); Debug.Log(ex_item.transform.position.x + "," + ex_item.transform.position.y); item.transform.localPosition = new Vector3(0, 0, 0); item.transform.localScale = new Vector3(1, 1, 1); //列表添加后用于刷新listView item.transform.position = ex_item.transform.position + temp; //item.transform.position += temp; // Debug.Log(item.transform.position.x+","+item.transform.position.y); scrollview.ResetPosition(); count++; } else { Vector3 temp = new Vector3(0, -1.3f, 0); GameObject item = GameObject.Find(o.name); int ex_position = count - 1; GameObject ex_item = GameObject.Find("all" + ex_position); Debug.Log(ex_item.transform.position.x + "," + ex_item.transform.position.y); item.transform.localPosition = new Vector3(0, 0, 0); item.transform.localScale = new Vector3(1, 1, 1); //列表添加后用于刷新listView item.transform.position = ex_item.transform.position + temp; //Debug.Log(item.transform.position.x+","+item.transform.position.y); scrollview.ResetPosition(); count++; } } else if (i == 0) { Vector3 temp = new Vector3(0, 0, 0); GameObject item = GameObject.Find(o.name); item.transform.localPosition = new Vector3(0, 0, 0); item.transform.localScale = new Vector3(1, 1, 1); //列表添加后用于刷新listView //item.transform.position += temp; scrollview.ResetPosition(); count++; } } else { GameObject o = (GameObject)Instantiate(Resources.Load(type)); //为每个预设设置一个独一无二的名称 o.name = "all" + count; //将新预设放在Panel对象下面 o.transform.parent = GameObject.Find("list View").transform; UILabel post_text = GameObject.Find("list View/" + o.name + "/PostContent").GetComponent <UILabel>(); UILabel postplace = GameObject.Find("list View/" + o.name + "/post_place").GetComponent <UILabel>(); postplace.text = labelplace[i]; //picture = GameObject.Find("list View/"+o.name+"/photo").GetComponent<UITexture>(); //test1 postid = GameObject.Find("list View/"+o.name+"/photo").GetComponent<test1>(); //postid.postid =postId[i]; post_text.text = label_text[i]; AddLike Like = o.GetComponentInChildren <AddLike> (); Like.Post_Id = postId[i]; AddDislike DisLike = o.GetComponentInChildren <AddDislike>(); DisLike.Post_Id = postId[i]; RetrieveTags Tags = o.GetComponentInChildren <RetrieveTags>(); Tags.Post_Id = postId[i]; PostIdSender Sender = o.GetComponentInChildren <PostIdSender>(); Sender.Post_Id = postId[i]; ParameterSender PSender = o.GetComponentInChildren <ParameterSender>(); PSender.Post_Id = postId[i]; GetPoster poster = o.GetComponentInChildren <GetPoster>(); poster.UserAccount = userId[i]; Getuserphoto userphoto = o.GetComponentInChildren <Getuserphoto>(); userphoto.UserAccount = userId[i]; if (i > 0) { if (photo[i - 1] == "0") { Vector3 temp = new Vector3(0, -0.57f, 0); GameObject item = GameObject.Find(o.name); int ex_position = count - 1; //o.name="Q_list"+ex_position; GameObject ex_item = GameObject.Find("all" + ex_position); Debug.Log(ex_item.transform.position.x + "," + ex_item.transform.position.y); item.transform.localPosition = new Vector3(0, 0, 0); item.transform.localScale = new Vector3(1, 1, 1); //列表添加后用于刷新listView item.transform.position = ex_item.transform.position + temp; scrollview.ResetPosition(); //Debug.Log(item.transform.position.x+","+item.transform.position.y); count++; } else { Vector3 temp = new Vector3(0, -0.95f, 0); GameObject item = GameObject.Find(o.name); int ex_position = count - 1; //o.name="Q_list"+ex_position; GameObject ex_item = GameObject.Find("all" + ex_position); Debug.Log(ex_item.transform.position.x + "," + ex_item.transform.position.y); item.transform.localPosition = new Vector3(0, 0, 0); item.transform.localScale = new Vector3(1, 1, 1); //列表添加后用于刷新listView item.transform.position = ex_item.transform.position + temp; scrollview.ResetPosition(); //Debug.Log(item.transform.position.x+","+item.transform.position.y); count++; } } else if (i == 0) { Vector3 temp = new Vector3(0, 0, 0); GameObject item = GameObject.Find(o.name); item.transform.localPosition = new Vector3(0, 0, 0); item.transform.localScale = new Vector3(1, 1, 1); //列表添加后用于刷新listView item.transform.position += temp; //Debug.Log(item.transform.position.x+","+item.transform.position.y); scrollview.ResetPosition(); count++; } } } }); }); }
public static ParseQuery <TSource> WhereWithinDistance <TSource, TValue>(this ParseQuery <TSource> query, Expression <Func <TSource, TValue> > expression, ParseGeoPoint point, ParseGeoDistance maxDistance) where TSource : ParseObject { return(query.WhereWithinDistance(GetKey <TSource, TValue>(expression), point, maxDistance)); }