2017-09-14 62 views
0

我的應用有很多用戶,他們都有固定的位置點 我想創建一個新的部分,用戶可以在其中看到附近的其他用戶,就像Messenger Wichet和Bitalk 如何比較這些地方?在android中找到附近

+0

爲了給你一個很好的答案,如果你有一個問題,如果你還沒有看過,它可能會幫助我們。如果你可以提供[mcve],它可能也很有用。 – Mat

回答

0

找到兩個位置之間的距離,並將其與nearness的標準進行比較。

if (locationOfMary.distanceTo(locationOfBob) < NEARNESS_CRITERIA) { 
    // Locations are near 
} else { 
    // Locations are far away 
} 

我不知道,也許PHP已經有一些它的庫。如果沒有,可以用Vincenty公式計算兩點之間的距離。你可以谷歌的實施例子,或從Android SDK的Location.computeDistanceAndBearing()方法看到它。

由於它是一種迭代算法,因此可以減少計算次數。例如,您可以基於兩個緯度整數值之間的距離爲110 km以及經度110 * cos(緯度)的兩個整數值之間的距離的假設,將粗略過濾器應用於其他位置。

祝你好運!