151

我有一个程序,其中位置的纬度和经度值存储在我下载的数据库中。

我想获得这些坐标之间的距离,以及我当前的位置。

Location 类有一个简单的方法来查找两个 Location 对象之间的距离,所以我想我会用坐标创建一个 Location 对象,然后调用该方法。

是否有捷径可寻?此外,如果有另一个可靠的、相当简单的等式不会把事情弄得太乱,那也可以。谢谢。

(android.location.Location)

4

3 回答 3

339

假设您已经有一个包含当前位置的位置对象。

Location targetLocation = new Location("");//provider name is unnecessary
targetLocation.setLatitude(0.0d);//your coords of course
targetLocation.setLongitude(0.0d);

float distanceInMeters =  targetLocation.distanceTo(myLocation);
于 2013-08-01T01:52:32.693 回答
30

您可以使用它们的构造函数创建位置,然后设置纬度和经度值。

final Location location = new Location("yourprovidername");
location.setLatitude(1.2345d);
location.setLongitude(1.2345d);
于 2013-08-01T01:49:29.013 回答
15

我再次回答这个问题,因为很多像我这样的人不知道"providername"实际上是什么。下面的代码回答了这个问题:

Location location = new Location(LocationManager.GPS_PROVIDER);
location.setLatitude(23.5678);
location.setLongitude(34.456);

在这里,我使用LocationManager.GPS_PROVIDER作为提供者名称。

于 2018-06-13T06:07:32.697 回答