我想知道是否有人想要一个更好的解决方案来解决我遇到的问题。
当用户突破走廊左侧或右侧的网格或即将
时,我需要我的应用提醒我在一条大直的走廊的角落里放了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米通常是不同的(我认为会有稳定的数据流,我可以平均,但似乎像每秒一个电话)
其次,是否有地理位置/步骤/指南针组合的替代方案?
不幸的是走廊只有几米宽
真的很感激人们可以提供的任何替代品 - 越实用越好:
忘记提及应用程序将永远在前台