如何在给定方位和距离点给定距离的情况下获得纬度和经度

时间:2017-12-19 16:42:12

标签: android google-maps google-maps-android-api-2

假设我有点 A(28.513393,77.072276),轴承 45度然后得到点 B(?,?) at距离点 A 的距离 5 Km

1 个答案:

答案 0 :(得分:2)

为了计算B点的位置,您可以使用 Google Maps Android API Utility Library。实用程序库有一个类SphericalUtil,允许通过球面几何计算距离,面积和标题。

应使用的SphericalUtil方法是computeOffset。根据文件

  

public static LatLng computeOffset(LatLng from,from                                      双倍距离,                                      双重标题)

     

返回从指定标题中的原点移动距离得到的LatLng(以北方向顺时针方向表示)。

来源:http://googlemaps.github.io/android-maps-utils/javadoc/

因此,您示例中的代码段是

LatLng pointA = new LatLng(28.513393, 77.072276);
double distance = 5000.0; //expressed in meters
double heading = 45.0  //expressed in degrees clockwise from north
LatLng pointB = SphericalUtil.computeOffset(pointA, distance, heading);

有关详细信息,请参阅实用程序库的设置指南:

https://developers.google.com/maps/documentation/android-api/utility/setup

我希望这有帮助!