-2
比方說,我需要查詢的vapor.Here兩個類之間的距離是我的意思蒸氣查詢類按距離
let distanceBetweenLocations = 5
let CloseLocations = try Locations.query().filter("lat", .distance , .isLessThan , 4)
類似的東西
比方說,我需要查詢的vapor.Here兩個類之間的距離是我的意思蒸氣查詢類按距離
let distanceBetweenLocations = 5
let CloseLocations = try Locations.query().filter("lat", .distance , .isLessThan , 4)
類似的東西
我不知道,如果你認識到自己問題在邏輯上是錯誤的。
很明顯,你將不得不做一些計算來實際得到距離。
我建議創建擴展與FUNC在你的模型,該模型將計算座標之間的距離,然後在過濾器FUNC使用,如果....
像這樣的東西可能:
extension Location{
func distance(lat: Double, lon: Double) -> Double {
let R = 6371.0
let dLat = (lat - localLat) * 3.14/180
let dLon = (lon - localLon) * 3.14/180
let latRad1 = localLat * 3.14/180
let latRad2 = lat * 3.14/180
let a1 = sin(dLat/2) * sin(dLat/2)
let a2 = sin(dLon/2) * sin(dLon/2) * cos(latRad1) * cos(latRad2)
let a = a1 + a2
let c = 2 * atan2(sqrt(a),sqrt(1-a))
return R * c
}
}
我想不要粗魯,但 我希望你只是懶得問正確,如果你不是,請參閱this測試項目閱讀它試圖瞭解,當你這樣做,你會知道如何實現你所需要的。
你的問題沒有任何意義...請重寫它,我們可以幫助你 – Quver