Por qué MKCircle no se muestra en MKMapView iOS8

Creo nuevas superposiciones como esta:

MKCircle *circle = [MKCircle circleWithCenterCoordinate:region.coordinate radius:region.radius]; [self.mapView addOverlay:circle]; 

También implementé el método de delegado:

 - (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay { MKCircleRenderer *circleRenderer = [[MKCircleRenderer alloc] init]; circleRenderer.fillColor = [UIColor greenColor]; circleRenderer.alpha = 1.f; return circleRenderer; } 

ambas partes del código se llaman, mapView! = nil en ese momento, es set delegado, pero no puedo ver el círculo en mi map.

¿Qué estoy haciendo mal?

En lugar de init , llame al método initWithCircle .

Obviamente, asegúrese de que el delegate de la vista de map está configurado, que se llama a su código que agrega la superposition y que instancia el procesador, etc., pero initWithCircle es probablemente el culpable.

Según la sugerencia de @Rob, necesita MKCircleRenderer con otro método initWithCircle .

 - (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay { MKCircleRenderer *circleRenderer = [[MKCircleRenderer alloc] initWithCircle:overlay]; circleRenderer.fillColor = [UIColor greenColor]; circleRenderer.alpha = 1.f; return circleRenderer; } 

También asegúrese de que la distancia de la cerca sea lo suficientemente adecuada como para que se pueda ver el círculo en el map.

Por ejemplo:

 CLLocationDistance fenceDistance = 100000; MKCircle *circle = [MKCircle circleWithCenterCoordinate:region.coordinate radius:fenceDistance]; [self.mapView addOverlay:circle];