我想在android中创建一个应用程序,用户可以在其中输入两个地理点(lat和long),并且我希望在数据库表(mysql)中进行查询,其中已经存储了gps位置的人员信息(lat通过使用上述查询,我想在输入的起点和终点之间搜索人。
例如:用户A输入了起点:德里和结束点:孟买,现在他将点击搜索按钮,所有人都来自孟买和德里之间的gps位置。如果它是可行的。所有人都将显示为列表视图。
希望我已经解释得很好,因为你明白了.. 请有人告诉我如何实现这一目标?我使用php mysql作为后端。
答案 0 :(得分:1)
如果你想知道在两个点划分的方形区域内的人,你必须检查人的位置是否在两个点的纬度和经度之间。例如:
//Delimiting points:
Dehli: 28°36′36″N 77°13′48″E
Mumbai: 18°58′30″N 72°49′33″E
//People:
Person A: 28°40′52″N 73°21′47″E
Person B: 22°03′44″N 75°56′11″E
Person A is OUTSIDE the square area between Dehli and Mumbai because the latitude
he is on is greater than the greatest latitude of both points:
Mumbai lat. < Dehli lat. < Person A lat.
Person B is INSIDE the square area between Dehli and Mumbai because the latitude
and longitude he is on is between both points latitude and longitude:
Mumbai lat. < Person B lat. < Dehli lat.
Mumbai lon. < Person B lon. < Dehli lon.
如果您想计算距离,可以依赖Great Circle Formula。这可以用来查找半径为X英里的人。