适用于iOS 10和Swift 4的Square Region Geofencing

监视圆形区域的替代区域

地理围栏,地理围栏,地理围栏……多么美丽的技术。 😊😊

一点定义: 地理围栏是现实世界地理区域的虚拟边界。 可以动态生成地理围栏-例如在点位置周围的半径中,也可以是一组预定义的边界(例如学校区域或邻里边界)。

是的,如果您还没有弄清楚的话,这个定义来自我的好友Wikipedia,他在解释事物方面做得很好。 (这是我的个人观点!😌)

现在让我们进入主题!

iOS 10在地理围栏方面做得很好。 但这有一些限制,例如您可以监视的区域数量(限制为20个),区域的半径(不少于100米),并且只能使用一种形状进行监视:一个完美的圆形区域。

如果要监视40米以内的正方形区域会怎样?

好吧,这就是我遇到了一段时间的问题。 为了解决此问题,我必须制作自己的CocoaPods库“ SquareRegion”来解决此问题。

演示版

多位置监控
单一位置监控

SquareRegion如何 工作?

首先,在您的Podfile中添加SquareRegion。

  pod'SquareRegion' 

说明:

  1. 导入SquareRegion。
  2. 设置委托。
  3. 将委托分配给视图控制器(自身)。
  4. 设置您的区域(正方形区域)的中心坐标。
  5. 声明您的正方形区域属性:regionWithCenter区域的中心, sideLength是正方形的长度(以公里为单位,因此需要转换为米), 标识符是区域的唯一键。
  6. 使用方法addRegionToMonitor(region 🙂将区域添加到监视器
  7. 添加核心位置的CLLocationManagerDelegate(作为扩展)。
  8. 开始使用新位置更新正方形区域。
  9. 使视图控制器符合RegionProtocol。
  10. 使用相关的委托方法进入或离开您的区域时,请做点很酷的事情!

如何在iOS上模拟地理位置

好了,您可以从Appcoda阅读一个很好的相关教程。

SquareRegion是“核心位置”的圆形区域的替代方法。 它可让您在边长至少25米的小区域内观察所需的尽可能多的位置范围。

您也可以在Product Hunt上投票支持该项目! 👍🏾😊

您可以在此处找到豆荚仓库。

在我的社交媒体上添加并关注我!

  • 领英
  • 脸书
  • 天使主义者