使用 IndoorAtlas 确定当前位置是在建筑物内部还是外部

Determine if current location is inside or outside building with IndoorAtlas

我正在使用 indoorAtlas SDK。我已经使用 indoorAtlas 成功显示了当前位置和平面图。但它有一些奇怪的结果。

如果我在列出了平面布置图和场地 ID 的建筑物内,它会提供正确的当前位置。但是当我在那个建筑物外面并且我试图定位当前位置时,它会在平面图中给出结果,但它会给出一些随机位置。

有什么方法可以发出一些通知或操作,表明我在我列出的平面布置图和场地标识所在的区域之外?

在当前的 SDK 中,没有任何东西可以直接回答您的问题。我想说您目前最好的工具是返回的位置更新 (ServiceState -class) 中的 getUncertainty() 方法与平台位置相结合。试验不确定值(以米为单位的半径),看看何时最好开始信任 IndoorAtlas 室内位置的平台位置,并得出用户已离开建筑物的结论。在更高级的版本中,当移向平面图的边缘(或更好的是移向出口)时,您可以更加确定可能会发生过渡(进->出,出->入)。

您还可以通过一种或多种方式将此逻辑与地理围栏 (http://developer.android.com/reference/com/google/android/gms/location/GeofencingApi.html) 结合起来。例如。使用地理围栏指示 IndoorAtlas 服务应该在用户进入建筑物时打开,并且在进入时动态创建更大的地理围栏作为保护措施,以帮助您的算法检测用户已经离开建筑物并且可以关闭 IndoorAtlas 服务。

希望这有助于找到您的解决方案。