Solved! Go to Solution.
What I've done is catch the zoom event
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(respondToZoom:) name:@"MapDidEndZooming" object:nil];
and reset the scale if it's too low
- (void)respondToZoom:(NSNotification*)notification {
self.scale = self.mapView.mapScale;
if (self.scale < 500) {
// zoom out
AGSEnvelope *e = self.mapView.visibleArea.envelope;
AGSPoint *pt = e.center;
[self.mapView zoomToScale:500 withCenterPoint:pt animated:YES];
}
}