How to hide annotation when zooming out the map view. I have a big number of annotation i have to hide them because if the region displayed on the map is too big you can see only the annotations.
To do this, you have to check the size of your region, and depending of it you set the views hidden or not.
I tested the code bellow but, you will probably need to make some adjustments.
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
NSArray *annotations = [_mapView annotations];
MyAnnotation *annotation = nil;
for (int i=0; i<[annotations count]; i++)
{
annotation = (MyAnnotation*)[annotations objectAtIndex:i];
if (_mapView.region.span.latitudeDelta > .010)
{
[[_mapView viewForAnnotation:annotation] setHidden:YES];
}
else {
[[_mapView viewForAnnotation:annotation] setHidden:NO];
}
}
}
Swift version:
let annotations = self.maps.annotations
for annotation in annotations
{
if (self.maps.region.span.latitudeDelta > 0.010)
{
self.maps.viewForAnnotation(annotation)?.hidden = true
}
else {
self.maps.viewForAnnotation(annotation)?.hidden = false
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With