我正在开发一个Android应用程序。在那个应用程序中,我有五个测试中心的经度和纬度。我通过用户的GPS获取用户纬度和经度。现在我的目标是我需要显示更接近用户现在位置的测试中心。我现在没办法做什么。朋友们请帮帮我。
答案 0 :(得分:0)
我已经回答here,您可以执行以下操作
您可以使用以下逻辑来获取两个lat long之间的距离
(这是为了oracle)
DISTANCE = (NVL(Radius,0) * ACOS((sin(NVL(Lat1,0) / DegToRad) * SIN(NVL(Lat2,0) / DegToRad)) +
(COS(NVL(Lat1,0) / DegToRad) * COS(NVL(Lat2,0) / DegToRad) *
Cos(Nvl(Lon2,0) / Degtorad - Nvl(Lon1,0)/ Degtorad))))
其中
DEGTORAD = 57.29577951;
Radius= 6387.7;
可能是,类似的逻辑可以通过SQLite DB中的原始查询来实现。
可以根据最小距离计算距离并对其进行排序和排序。