Как проверить, находится ли маркер за пределами геозоны - PullRequest
0 голосов
/ 31 декабря 2018

Мне было интересно, можно ли было проверить, находится ли маркер за пределами региона.Я могу проверить, покинул ли пользователь регион, но я также хочу проверить, есть ли у маркера на карте то же самое, я хочу проверить область геозоны между маркерами.

  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)
    }
}

1 Ответ

0 голосов
/ 31 декабря 2018

Вы можете использовать CLLocation.distance(from:) для расчета расстояния каждого маркера от вашего центра геозоны.

let center = CLLocation(latitude: getLatitude(), longitude: getLongitude())

for marker in markers {
    if marker.location.distance(from: center) > radius {
        // outside
    } else {
        // inside
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...