android - 在android中计算用户和POI(兴趣点)之间的角度

标签 android azimuth point-of-interest

我想制作一个函数,根据真北计算用户与一个兴趣点 (POI) 之间的角度。

我已经有了我所在位置的经度和纬度以及 POI 位置,现在我需要它们之间的角度。

这是我所拥有的:

private float calcAzimuth1(float lat0, float long0, float lat1, float long1)
{
    //user's latitude and longitude
    float userLat  = (float) ((lat0  * ((float)Math.PI))/180);
    float userLong = (float) ((long0 * ((float)Math.PI))/180);

    //POI's latitude and longitude
    float latT1    = (float) ((lat1  * ((float)Math.PI))/180);
    float longT1   = (float) ((long1 * ((float)Math.PI))/180);

    //angle between them
    float angle=??}

最佳答案

检查 Location 类的 bearingTo 函数 http://developer.android.com/reference/android/location/Location.html#bearingTo(android.location.Location) 您可以根据纬度/经度创建两个 Location 对象,然后获取它们之间的方位。

您可能需要做的另一件事是计算设备方向,然后将它们组合在一起。这需要监听传感器并根据收到的信息计算北方。在这里查看答案: Compass readings on SGS III

关于android - 在android中计算用户和POI(兴趣点)之间的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10657094/

相关文章:

android - 在 Android Studio 上为 android 构建 OutsystemsNow 出现 dexException

给定日期、时间、纬度和经度的太阳方位角的 C 代码

vector - 如何计算 3D 中相对于相机视角方向的方位角和仰角......?

LINQ POI 邻近度

java - bitmap.compress(Bitmap.compressFormat.JPEG,100, baos) 给我 java.lang.OutOfMemoryError

android - 应包含哪个 aSmack jar 文件(android-14、android-15...)以支持 SDK 版本 14-19?

android - 文件的图像 URI

math - 根据太阳位置(方位角和仰角)以及纬度和经度计算日期和时间

api - GMaps API - 删除默认 POI

android - 以 WebService 为源的 ContentProvider