我可以檢索用戶的經度和緯度,並因此通過GPS獲取其位置座標。 例如讓我說我有緯度67和經度-25,並且可以說我想限制搜索到100km,它會是+ 20當前緯度和+ - 10當前經度嗎?計算距離範圍
如果您需要澄清,請告訴我。 在此先感謝
我可以檢索用戶的經度和緯度,並因此通過GPS獲取其位置座標。 例如讓我說我有緯度67和經度-25,並且可以說我想限制搜索到100km,它會是+ 20當前緯度和+ - 10當前經度嗎?計算距離範圍
如果您需要澄清,請告訴我。 在此先感謝
解析使這非常簡單。他們已經建立了稱爲:withinKilometers:
,withinMiles:
和withinRadians:
的功能。以下查詢參數將返回「位置」在用戶當前位置100公里內的所有行。由於您已經計算了用戶的經度和緯度,因此您可以使用這些值創建PFGeoPoint
。
斯威夫特語法
let userLocation = PFGeoPoint(latitude: userLatitude, longitude: userLongitude)
query.whereKey("location", nearGeoPoint:userLocation, withinKilometers: 100)
感謝您的及時迴應。我相信android的等價物是query.whereWithinKilometers(「location」,ParseGeoPoint point,double maxDistance);對於這一點,我已經設法通過GPS存儲用戶的緯度和經度,所以不知道該點會被引用到什麼位置或「位置」,因爲我的解析沒有列「位置」 – John 2014-09-22 02:52:11
更新我的答案@ user3907211至於你的「位置」列,它是你比較PFGeoPoint的任何列。注意:您不應該將用戶的經度和緯度保存爲Parse。而是保存一個PFGeoPoint。 – Dehli 2014-09-22 03:25:02
謝謝你的迴應。我想知道不會通過解析使用GPS大幅增加請求數量,從而增加費用。假設我有2000個用戶每天平均花費30分鐘的時間,每秒鐘不會超過30個請求,因爲不斷詢問應用程序的當前位置 – John 2014-09-22 04:13:25
這比編程一個數學問題。 – 2014-09-21 21:32:01
將十進制度數座標轉換爲公里並不是恆定的,我建議使用JTS來執行緩衝區操作,或將數據存儲在類似PostGIS的地方,以便將其存儲爲幾何圖形並執行空間查詢......取決於您的目標 – markg 2014-09-21 21:33:23
感謝你的迴應。用戶的緯度和經度信息被直接記錄到Parse中,所以我得到了這些信息。我同意這更像是一個數學問題。 – John 2014-09-21 22:04:38