📌  相关文章
📜  从经纬度代码获取距离 android - Java (1)

📅  最后修改于: 2023-12-03 15:22:01.382000             🧑  作者: Mango

从经纬度代码获取距离 Android - Java

在 Android 应用中,我们可能需要计算两个地理位置之间的距离。通常,地理位置由经纬度表示。本文将介绍如何使用 Java 代码计算两个经纬度之间的距离。

步骤1:导入依赖

如果你是使用 Android Studio 的话,可以在 app/build.gradle 文件中添加以下依赖项:

implementation 'com.javadocmd:simplelatlng:1.3.0'

这是一个简单的库,可以方便地计算经纬度之间的距离。

步骤2:实现代码

下面是一个简单的 Java 代码片段,用于计算两个地理位置之间的距离。

import com.javadocmd.simplelatlng.LatLng;
import com.javadocmd.simplelatlng.util.LengthUnit;

public class DistanceCalculator {
    public static double calculateDistance(double lat1, double lon1, double lat2, double lon2) {
        LatLng pos1 = new LatLng(lat1, lon1);
        LatLng pos2 = new LatLng(lat2, lon2);

        double distance = pos1.distance(pos2, LengthUnit.KILOMETER);
        return distance;
    }
}

在上面的代码中,我们使用 LatLng 类来表示地理位置。然后我们使用 distance() 方法计算两个地理位置之间的距离,并将单位设置为千米(LengthUnit.KILOMETER)。

步骤3:调用方法

现在我们已经有了一个可以计算距离的方法,下面是一个简单的例子,展示了如何使用此方法。

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        double distance = DistanceCalculator.calculateDistance(37.7749, -122.4194, 51.5074, -0.1278);
        Log.i("Distance", "Distance between two locations: " + distance + " km");
    }
}

在上面的代码中,我们使用 DistanceCalculator 类中的 calculateDistance() 方法计算了旧金山和伦敦之间的距离。然后,我们将结果打印到 Android Studio 的日志中。

结论

本文介绍了如何使用 Java 代码计算两个地理位置之间的距离。我们使用了简单的库来处理经纬度数据,并将单位设置为千米。这个例子非常简单,但是你可以用它作为基础来实现更复杂的地理位置方案。