我有一个应用程序向用户提供可缩放的 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 或缩放级别。有没有办法可以访问当前视图的此属性,以便将来在视图加载时可以重用它?