4

考虑到我有两部智能手机 A 和 B。如果我拿着智能手机 A,有没有办法确定 B 相对于我自己的位置?

所以如果我们有这个图像的情况:

笛卡尔坐标

它会告诉我 B 在位置 (2, 1)。

使用 wifi 信号强度来获取位置等创造性方法更受欢迎。我是否也可以确定两部手机之间是否有墙?

4

2 回答 2

3

据我了解,蓝牙和 Wi-Fi 信号都以径向波向各个方向移动 - 所以虽然你可以测量两个终端之间的距离,但我怀疑这会给你一个正确的读数,因为它可以要么在圆形区域的“一侧”,要么与信号源等距。

虽然 GPS 可能是显而易见的解决方案,因为它提供了您正在寻找的东西,但我不确定您是否将其作为一个选项。一旦获得设备的两个坐标集,就可以计算设备 1 的偏移量(N/S 和 E/W)。

这让我想到了 GPS 给出的准确性,考虑到您在问题中包含了标签蓝牙,并且由于蓝牙的范围约为 15-30 英尺(类型 2-3),而 GPS 的误差范围为 25 -35 英尺,这也可能不好。

如果您确实设法在两个设备之间建立连接(蓝牙),那么您已经知道您在那个范围内,但不知道在哪个方向。您可以从 Android 2.1 获得信号强度测量:如何轮询现有蓝牙连接的 RSSI 值?但是我再次不确定如何检测用户相对于你的方向,无论他在任何方向上有多近。该死的其他设备可能在您的上方或下方,并且在相同距离的情况下,您将获得与您旁边的读数几乎相同的读数。

这都是“静态”方法,这意味着两个设备都是固定的。但是,如果您测量该值,然后向左迈出一步并重新测量,您可以判断您是离源更近还是更远,因此通过对其中一个设备的移动进行一些试验和错误,您可以确定一个相对位置,但这可能对您没有用,因为您要么需要手动告诉手机您向左移动并重新测量,要么使用更复杂的东西,例如监控手机的加速度计,它可以告诉手机的方向手机移动并映射信号强度。

我失去理智了吗?大概

暂时还没有答案,只是想一想。根据应用程序将执行的操作,可能还有其他可行的方法。这是我的脑残答案,因此希望其他人可以阅读并提出更详尽的答案,而不是胡思乱想。

于 2012-05-10T22:34:34.967 回答
0

如果从 A 到 B 的距离超过几米,那么如果您可以获取 A 和 B 的 GPS 位置,您可以使用 Location.distanceTo() 和 Location.bearingTo() 轻松计算它们之间的距离和方位方法。

根据物理环境,物理上靠得很近的两个 GPS 很可能使用相同的卫星进行计算,并且两者的误差相似。所以在某些情况下,使用 GPS 可能适用于小距离。

于 2012-05-11T03:04:29.503 回答