SQUARE REGION GEOFENCE
概述
SquareRegion几何围栏是轻量级的围栏Pod,允许创建一个方形围栏,它是圆形围栏的替代品。
示例
使用CocoaPods安装
- 将SquareRegion Pod添加到您的Podfile中
pod 'SquareRegion'
- 运行
pod install
用法
- 导入
import SquareRegion
- 设置代理
class ViewController: UIViewController, SquareRegionDelegate, CLLocationManagerDelegate
{
- 初始化
var delegate : SquareRegionDelegate
在viewDidLoad中
delegate = self
- 开始位置监控
在CLLocationManagerDelegate的
didUpdateLocations
代理方法中
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.first{
delegate.updateRegion(location: location)
}
}
- 实现 SquareRegionDelegate 代理方法
extension ViewController: SquareRegionDelegate {
func didEnterRegion(region: CKSquareRegion) {
print("enter")
}
func didExitRegion(region: CKSquareRegion) {
print("leave")
}
}
- 添加和删除区域
let center = CLLocationCoordinate2D.init(latitude: 37.787689, longitude: -122.410929)
// length is in kilometers,
//so you need to convert to meters
// for this exemple it is 35 meters
let length = 0.035
let squareRegion = CKSquareRegion.init(regionWithCenter: center, sideLength: length, identifier: "steakHouse")
// Add region
delegate.addRegionToMonitor(region: squareRegion!)
// remove region
delegate.removeRegionFromMonitor(identifier: "steakHouse")
注意
-
边长单位为千米,因此您需要将千米转换为米
-
您可以监控多个地点