對不起,不提供任何示例代碼,因爲我沒有關於如何做到這一點的想法。如何找到解決應用的用戶所在地附近的用戶
我編碼,它使用火力地堡作爲後端的Android應用程序。 我使用fusedlocationapi存儲當前當前用戶位置思想報分貝。
現在,當用戶登錄到應用程序時,他/她被賦予一個選項,以顯示周圍25公里半徑只有用戶列表(假設爲例)。任何人都可以引導我與這個功能請。
我don.t想這樣做在客戶端...有什麼辦法,因此用mysql
對不起,不提供任何示例代碼,因爲我沒有關於如何做到這一點的想法。如何找到解決應用的用戶所在地附近的用戶
我編碼,它使用火力地堡作爲後端的Android應用程序。 我使用fusedlocationapi存儲當前當前用戶位置思想報分貝。
現在,當用戶登錄到應用程序時,他/她被賦予一個選項,以顯示周圍25公里半徑只有用戶列表(假設爲例)。任何人都可以引導我與這個功能請。
我don.t想這樣做在客戶端...有什麼辦法,因此用mysql
您可以使用谷歌地圖API的Android工具庫
public class DistanceHelper {
private static final Double RADIUS = 25000.0;
public static double getDistance(LatLng user1, LatLng user2){
double distance = SphericalUtil.computeDistanceBetween(user1, user2);
return distance;
}
public static Double getRadius(){
return RADIUS;
}
public static String formatNumber(double distance) {
String unit = "m";
if (distance < 1) {
distance *= 1000;
unit = "mm";
} else if (distance > 1000) {
distance /= 1000;
unit = "km";
}
return String.format("%4.3f%s", distance, unit);
}
}
LatLng user1 = new LatLng(currentUser.getLatitude(), currentUser.getLongitude());
LatLng user2 = new LatLng(otherUser.getLatitude(), otherUser.getLongitude());
Double distance = DistanceHelper.getDistance(user1, user2);
if (distance <= DistanceHelper.getRadius()) {
//code here
}
我使用GPS和的LocationManager存儲用戶的經度和緯度FB數據庫。將計算放入您的ChildEventListener中以獲取25公里範圍內的用戶。
但是我認爲這個實現是錯誤的,因爲計算是在客戶端完成的,所以如果你有一百萬或十億用戶,那麼你必須在客戶端的設備上逐一計算,這可能會導致你的應用程序性能非常低。
是的,你是絕對正確的,我不能像檢查您的this..thank每個用戶的回覆 –
你歡迎先生。 – pastillas
你想要什麼?顯示半徑25公里的用戶? –
是Mr.Roshan..could你幫這一點。,,請 –
的【如何有效地找到附近最近的位置給定的位置]可能的複製(http://stackoverflow.com/questions/3922404/how-to-有效地找到的最最接近-位置,附近-A-給定地點) – halfer