たとえば、MKMapView の最大ズームについては、stackoverflow で多くの質問と回答があります。
MKMapView の最大ズーム レベルを制限する方法はありますか?
残念ながら、実際にうまくいった答えはありませんでした(または、正しく実装しなかっただけです)。ネイティブ マップの動作をシミュレートできませんでした。つまり、「バウンス」または再開せずにズーム レベルを制限します。
これは、使用した私のコードです:
- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated
{
if( mapView.region.span.latitudeDelta<0.001 || mapView.region.span.longitudeDelta<0.001){
MKCoordinateRegion region =mapView.region;
region.span = MKCoordinateSpanMake(0.001, 0.001);
mapView.region = region;
[mapView setRegion:mapView.region animated:NO];
}
}
ユーザーがマップをピンチしてズームし、マップが最大ズーム (私が設定) に達した場合、マップはズームインしてから跳ね返ってはいけません。出来ますか?