使用用户当前的纬度,经度和查看对象的方向查找一组纬度和经度

时间:2012-02-08 09:14:08

标签: android augmented-reality

我正在构建一个基于增强现实的Android应用程序。主要想法是当用户打开我的应用程序时,默认情况下设备的相机以预览模式启动。根据用户当前的GPS位置以及用户/摄像机所面向的方向,我想计算出该范围内纬度和经度的集合?

以下图片很好地解释了我的情景。我有全套的纬度和经度绘制图中的所有黑点。现在假设用户位于圈子的中心。还考虑到他正朝北方向观看。如果我们考虑朝向北方向45度的角度。我希望得到这个45度可视区域的纬度和经度。

enter image description here

我能够获得用户相机所面向的方向。我也能够找到用户当前的GPS位置。我在我的SQLite数据库中存储了完整的纬度和经度。现在我想计算的是用户设备相机所面临的纬度和经度的集合。

我希望我在这里解释得很好。如果有人可以提供帮助,那就太紧急了。

提前致谢。

2 个答案:

答案 0 :(得分:4)

要获得视角,您可以使用Camera.Parameters getHorizontalViewAngle()方法作为近似值。我们称之为alpha。你也知道你的设备从它的视角到磁北的方位,我们称之为beta。

从那里,在给定的半径内,迭代一组数据库位置,计算从你的位置到它的方位,并检查它是否在区间内[beta-alpha / 2,beta + alpha / 2]

如果你真的不急于这个,我建议你看看Mixare,它是一个处理位置和AR的开源框架。

答案 1 :(得分:3)

你可以检查一下在GPLv3下发布的增强现实浏览器mixare的代码。存储库位于:http://github.com/mixare/mixare

你必须要处理很多细节,从摄像机的视野仅从android版本2.3(IIRC)开始以编程方式提供。您可以在兼容性类中找到这些以及许多其他内容。

HTH, Daniele - mixare团队