ユーザーにズーム可能な MKMapView を提供するアプリがあります。マップ ビューが最初に表示されたときに、ユーザーの好みの座標とズーム レベルを保存できるようにしたいと考えています。
現在、viewDidLoad では、最初のマップ プレゼンテーションの座標とズーム レベルのデフォルト セットを提供しています。
zoomLocation.latitude = 55.50;
zoomLocation.longitude = -5.50;
// specify size of region to display
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 340.0*METERS_PER_MILE, 340.0*METERS_PER_MILE);
// auto adjust region to fit screen
MKCoordinateRegion adjustedRegion = [mapView regionThatFits:viewRegion];
// display the new region
[mapView setRegion:adjustedRegion animated:YES];
私がやろうとしているのは、ユーザーがマップをスクロールして好みのデフォルト ビューにズームすると、[デフォルトの設定] ボタンを押して、ビューが読み込まれるたびに将来実装するために必要なプロパティを保存できることです。
ユーザーが選択したビューの座標を保存するには、次のようにします。
// gets coordinates of currently viewed map image
CGPoint pointCentrePoint = CGPointMake(mapView.frame.size.width/2, mapView.frame.size.height/2);
centrePoint = [mapView convertPoint:pointCentrePoint toCoordinateFromView:mapView];
NSLog(@"LAT: %f LON: %f", centrePoint.latitude, centrePoint.longitude);
私が苦労しているのは、ユーザーが選択した MKCoordinateRegion またはズーム レベルを保存する方法です。現在のビューのこのプロパティにアクセスできる方法はありますか?ビューがロードされたときに将来再利用できますか?