Base class for geofence geometry and its subclasses
RadarGeofenceGeometry is the base class for representing the geometry of a geofence. Concrete implementations include RadarCircleGeometry and RadarPolygonGeometry.
// Access circle geofence geometryif let circle = geofence.geometry as? RadarCircleGeometry { let center = circle.center.coordinate let radius = circle.radius print("Circle center: \(center.latitude), \(center.longitude)") print("Circle radius: \(radius) meters")}
To determine the type of geometry, use type checking:
let geofence: RadarGeofence = // ... from an event or contextif let circle = geofence.geometry as? RadarCircleGeometry { // Handle circle geometry print("Circle geofence with radius: \(circle.radius)m")} else if let polygon = geofence.geometry as? RadarPolygonGeometry { // Handle polygon geometry print("Polygon geofence with \(polygon._coordinates?.count ?? 0) vertices")}
RadarGeofence *geofence = // ... from an event or contextif ([geofence.geometry isKindOfClass:[RadarCircleGeometry class]]) { // Handle circle geometry RadarCircleGeometry *circle = (RadarCircleGeometry *)geofence.geometry; NSLog(@"Circle geofence with radius: %fm", circle.radius);} else if ([geofence.geometry isKindOfClass:[RadarPolygonGeometry class]]) { // Handle polygon geometry RadarPolygonGeometry *polygon = (RadarPolygonGeometry *)geofence.geometry; NSLog(@"Polygon geofence with %lu vertices", (unsigned long)polygon._coordinates.count);}