iBeacon检测人是否离开网格

时间:2016-10-28 15:09:08

标签: ios swift location ibeacon

我想知道是否有人想要一个更好的解决方案来解决我遇到的问题。

当用户突破走廊左侧或右侧的网格或即将

时,我需要我的应用提醒

我在一条大直的走廊的角落里放了4个信标。目前,用户在此广场内校准应用程序 - 从每个信标获取读数。

从每个信标获取后续更新以提供位置

我想到的第一种方法是进行校准 - 用户在走廊中 - 每个信标距离被添加以创建总距离。如果来自每个信标的后续更新总共显示更远的距离,则用户必须离开走廊。

func totalSize (l1:CGFloat, r1:CGFloat, l2:CGFloat, r2:CGFloat) -> CGFloat  {

    let bottomTotalDistance = l1 + r1
    let topTotalDistance = l2 + r2

    let completeTotal = CGFloat(bottomTotalDistance) + CGFloat(topTotalDistance)

    return completeTotal

}

self.currentTotal = self.totalSize(l1: CGFloat(self.leftBeaconOne!.currentPos!), r1: CGFloat(self.rightBeaconOne!.currentPos!), l2: CGFloat(self.leftBeaconTwo!.currentPos!), r2: CGFloat(self.rightBeaconTwo!.currentPos!))


  if currentTotal > self.total {

            if rightBeaconTwo!.currentPos! > leftBeaconTwo!.currentPos! || rightBeaconOne!.currentPos! > leftBeaconOne!.currentPos!{
                self.playLeftAlert()
                self.view.backgroundColor = UIColor.red
            }else{
                self.playRightAlert()
                self.view.backgroundColor = UIColor.red
            }
        }

首先,这是相当原始的 - 其次来自信标的数据被证明是不一致的,高达10米通常是不同的(我认为会有稳定的数据流,我可以平均,但​​似乎像每秒一个电话)

其次,是否有地理位置/步骤/指南针组合的替代方案?

不幸的是走廊只有几米宽

真的很感激人们可以提供的任何替代品 - 越实用越好:

忘记提及应用程序将永远在前台

0 个答案:

没有答案