我正在为博物馆之旅编写一个应用程序。我希望我的应用程序知道用户在建筑物中的位置、用户是否站在特定的房间、特定的作品前面等。
GPS 在室内不起作用。 (使用 WiFi 定位可以,但我知道 Apple doesn't use Skyhook anymore ,所以我不知道在哪里注册我的基站。)
由于 GPS 不起作用,似乎在已知位置放置一个专用设备并让应用程序检测到该设备就可以起作用。但根据我的研究,这看起来也并不容易:
• 无法检测附近的 WiFi 基站,因为 Apple 不允许通过公共(public) API 查询基站。
• 仅当设备已位于同一 WiFi 网络上时,才能通过 Bonjour 查找设备。并且客人的手机不会连接到我们的 WiFi 网络。
• GameKit...嗯...还没有看到角度。
有人知道如何实现这一点吗?
谢谢!
最佳答案
我建议使用蓝牙。我对类似的问题做了一些初步工作,使用了一些代码来观察在我家的房间之间走动时手机可以看到哪些蓝牙设备。
您不必精确定位蓝牙设备的实际位置;如果您可以看到设备 A 和 B 但看不到 C,则您位于该区域,如果您可以看到所有三个设备,则您位于该区域,依此类推。通过一点点“观察”信号变化,您可以查明它们的位置位置更近,例如我可以看到 A,但看不到 B 或 C,10 秒后我可以看到 A 和 B,那么很有可能我正朝向 A+B 区域的仅 A 一侧;当 10 秒后我可以看到 B+C 但不再是 A 时,我距离从 A+B 穿过到 B+C 的区域更近了,等等。
虽然我没有对其进行详尽的测试,但我的结果足够积极,可以告诉我的客户,一些更强大、更真实的测试是值得的,这可能会很好地工作。信号反弹可能会出现问题,可能需要一些屏蔽或类似的东西,但这似乎确实可行。
关于iphone - 在室内可靠地定位 iPhone?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4056207/