【问题标题】:How to check if a marker is outside geofence region如何检查标记是否在地理围栏区域之外
【发布时间】:2018-12-31 08:44:38
【问题描述】:

我想知道是否可以检查标记是否在该区域之外。 我可以检查用户是否离开了该区域,但我还想检查地图上是否有任何标记指向同一事物,我想检查标记之间的地理围栏区域。

  func setUpGeofence() {
        let geofenceRegionCenter = CLLocationCoordinate2DMake(getLatitude(),getLongitude());
        let geofenceRegion = CLCircularRegion(center: geofenceRegionCenter, radius: 400, identifier: "Geofence");
        geofenceRegion.notifyOnExit = true;
        geofenceRegion.notifyOnEntry = true;
        self.locationManager.startMonitoring(for: geofenceRegion)
    }
}

【问题讨论】:

    标签: ios swift geofencing


    【解决方案1】:

    您可以使用CLLocation.distance(from:) 计算每个标记与您的地理围栏中心的距离。

    let center = CLLocation(latitude: getLatitude(), longitude: getLongitude())
    
    for marker in markers {
        if marker.location.distance(from: center) > radius {
            // outside
        } else {
            // inside
        }
    }
    

    【讨论】:

    • 我不想检查我想设置区域的距离,如果汽车进入我知道它进入,如果离开我知道它离开,如果我使用“.distance(from)”如果我的车即使没有到达我想去的区域,它也有 5 米的距离。
    • 所以您想在多个区域设置地理围栏?然后就这样做,iOS 最多支持 20 个并发区域。如果您有 20 个以上的想法,请参阅 stackoverflow.com/questions/14232712/…
    • 谢谢你的帮助,但这不是我想要的,我不想知道用户是否输入了区域,我有 GMS 标记,我想知道那个标记是否是输入的那个地区
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 2013-04-02
    • 2021-08-20
    • 2012-06-29
    • 1970-01-01
    相关资源
    最近更新 更多