【问题标题】:determine if object in the same direction or not android确定对象是否在同一方向或不是android
【发布时间】:2012-09-18 13:25:17
【问题描述】:

我想开发一个应用程序,首先提交一个“有方向”的对象位置,以便稍后在这条街道上“沿同一方向”再次移动时,我可以检测到并告诉用户你在该物体的同一方向,您在 xyz 米远。

目标位置和距离将使用 GPS 或其他位置提供服务天气来检测。

我现在的问题是方向,如何提交对象方向以便以后我可以知道我在街道的同一方向。

提前致谢

【问题讨论】:

  • 你的问题是找方向吗?如果是这样:developer.android.com/reference/android/hardware/… -> 继续阅读 getOrientation()。如果问题在于存储方向,那么只需阅读 Android 中的 SQLite 数据库即可。将其存储在db中,然后将当前位置和方向与db中的进行比较
  • 我的问题是获取与街道方向相关的方向。这个获得的方向指的是什么?与什么有关?如果一个点 x 在北方同方向,另一个在南方同方向呢?
  • 所以基本上你不需要一个准确的方向(比如 360 度),而是如果用户指向街道的这一端或对面的信息,对吧?我能想到的唯一问题是获取街道两端的坐标。因为数学(两个地理点之间的线)相当简单。也获得与这条线相关的用户方向

标签: android geolocation gps compass-geolocation


【解决方案1】:

要查找两点之间的方向,您可以使用以下方法之一:

1-如果使用 Location 对象:

Location initialPoint = new Location("");
initialPoint.setLatitude(initialLatitude);
initialPoint.setLongitude(initialLongitude);

Location finalPoint = new Location("");
finalPoint .setLatitude(finalLatitude);
finalPoint .setLongitude(finalLongitude);

float direction = initialPoint.bearingTo(finalPoint);

2-使用静态Location方法

private float results2[] = new float[2];
Location.distanceBetween(initialLatitude, initialLongitude, finalLatitude, finalLongitude, results);
float direction = reasults[1];

问候

【讨论】:

  • 这个获得的方向指的是什么?与什么有关?如果一个点 x 在北方同方向,另一个在南方同方向呢?
  • 正如变量名称所暗示的那样,它返回从初始点到终点的方向。来自文档:“沿此位置和给定位置之间的最短路径行进时,返回真北以东度数的近似初始方位。最短路径是使用 WGS84 椭球定义的。(几乎)对映的位置可能会产生无意义结果。”
猜你喜欢
  • 2016-12-27
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
  • 2018-12-10
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 2011-12-12
相关资源
最近更新 更多