/ / Ako uložiť aktuálnu úroveň MKCoordinateRegion alebo zväčšenia? - ios, mkmapview, mkcoordinateregion, mkcoordinatespan, mapkit

Ako ukladať aktuálne MKCoordinateRegion alebo úroveň priblíženia? - ios, mkmapview, mkcoordinateregion, mkcoordinatespan, mapkit

Mám aplikáciu, ktorá používateľovi poskytuje zväčšiteľný MKMapView. Chcem mať možnosť uložiť preferované súradnice používateľa a úroveň priblíženia pri prvom zobrazení mapy.

V súčasnosti v viewDidLoad poskytujem predvolenú sadu súradníc a úroveň priblíženia pre úvodnú prezentáciu mapy:

    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];

To, čo sa snažím urobiť, je, keď používateľ rolujea priblíži mapu na svoje preferované predvolené zobrazenie, môžu stlačiť tlačidlo „Nastaviť predvolené“ a kedykoľvek pri načítaní zobrazenia uložiť požadované vlastnosti na implementáciu v budúcnosti.

Na uloženie súradníc zvoleného pohľadu používateľa mám toto:

// 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);

S čím bojujem je to, ako skladovaťpoužívateľom vybratá oblasť MKCoordinateRegion alebo úroveň priblíženia. Existuje spôsob, ako môžem získať prístup k tejto vlastnosti pre aktuálne zobrazenie, aby bolo možné ho v budúcnosti pri načítaní pohľadu znova použiť?

odpovede:

2 pre odpoveď č. 1

Na rozdiel od JavaScriptu Google Maps API nemá MKMapView ľahko dostupnú vlastnosť „úrovne zväčšenia“ (nie je to skutočne potrebné pre váš účel).

Pracujte s hodnotami stredu a rozsahu v majetku regiónu.

Táto otázka uvádza príklad toho, ako uložiť / načítať región do NSUserDefaults.