Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何比较两个位置_Java_Android - Fatal编程技术网

Java 如何比较两个位置

Java 如何比较两个位置,java,android,Java,Android,我正在开发一个安卓应用程序,它有附近朋友的功能。因此,每个用户都将好友列表存储在Firebase实时数据库中。当它们四处移动时,它们的位置也保存在那里 我想做什么? 我想将所有用户freinds位置与用户位置进行比较。如果用户和他的朋友之间的距离小于等于一公里,则附近的朋友列表将被更新。将为正在使用应用程序的用户的reach friend执行此检查 我想做什么? 在发布这个问题之前,我四处搜索,在网上找到了一个答案。但是我没有得到计算距离的函数,因为变量名很短,并且不是自解释的 根据上面写的内容

我正在开发一个安卓应用程序,它有附近朋友的功能。因此,每个用户都将好友列表存储在Firebase实时数据库中。当它们四处移动时,它们的位置也保存在那里

我想做什么?

我想将所有用户freinds位置与用户位置进行比较。如果用户和他的朋友之间的距离小于等于一公里,则附近的朋友列表将被更新。将为正在使用应用程序的用户的reach friend执行此检查

我想做什么?

在发布这个问题之前,我四处搜索,在网上找到了一个答案。但是我没有得到计算距离的函数,因为变量名很短,并且不是自解释的


根据上面写的内容,是否有人知道如何计算两个位置之间的距离,或者如何总结上面链接上显示的函数的作用

可以从类中使用
distanceBetween()
方法。

可以从类中使用
distanceBetween()
方法。

firstLocation.distanceTo(secondLocation)

您将获得从第二个位置到第一个位置的距离,单位为米。

第一个位置。距离到(第二个位置)


您将获得从第二个位置到第一个位置的距离,单位为米。

它们是LatLng类型,不允许我使用distanceTo。您可以从lat long创建一个location对象,如location firstLocation=new location(“”);firstLocation.setLatitude(yourLat)//你的坐标当然是firstLocation.setLongitude(yourLon);是的,这就是我做的,然后比较他们,我工作。唯一的问题是,距离是通过空中来比较的,而不是通过地面上的距离来比较的。@jovan获得地面距离需要一个地图库,而且可能会花费很多时间(而且肯定会花费很多时间)。这就是为什么当你进行搜索时,几乎所有的东西都使用直接距离。哦,那么现在这就可以了。非常感谢。它们是LatLng类型,不允许我将用户距离设置为。您可以从lat long创建一个位置对象,如location firstLocation=new location(“”);firstLocation.setLatitude(yourLat)//你的坐标当然是firstLocation.setLongitude(yourLon);是的,这就是我做的,然后比较他们,我工作。唯一的问题是,距离是通过空中来比较的,而不是通过地面上的距离来比较的。@jovan获得地面距离需要一个地图库,而且可能会花费很多时间(而且肯定会花费很多时间)。这就是为什么当你进行搜索时,几乎所有的东西都使用直接距离。哦,那么现在这就可以了。谢谢。你可以通过谷歌使用这个库你可以通过谷歌使用这个库