बचाया शो मैं उपयोगकर्ता चूक में नक्शा क्षेत्र बचत हूँ जब मेरे iPhone ऐप्लिकेशन इस तरह बंद हो रहा है:MKMapView गलत तरीके से क्षेत्र
MKCoordinateRegion region = mapView.region;
[[NSUserDefaults standardUserDefaults] setDouble:region.center.latitude forKey:@"map.location.center.latitude"];
[[NSUserDefaults standardUserDefaults] setDouble:region.center.longitude forKey:@"map.location.center.longitude"];
[[NSUserDefaults standardUserDefaults] setDouble:region.span.latitudeDelta forKey:@"map.location.span.latitude"];
[[NSUserDefaults standardUserDefaults] setDouble:region.span.longitudeDelta forKey:@"map.location.span.longitude"];
एप्लिकेशन फिर से लॉन्च किया गया, Ш पढ़ उन मूल्यों को उसी तरह वापस, ताकि उपयोगकर्ता ठीक उसी मानचित्र दृश्य के रूप में यह आखिरी बार था देख सकते हैं:
MKCoordinateRegion region;
region.center.latitude = [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.center.latitude"];
region.center.longitude = [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.center.longitude"];
region.span.latitudeDelta = [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.span.latitude"];
region.span.longitudeDelta = [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.span.longitude"];
NSLog([NSString stringWithFormat:@"Region read : %f %f %f %f", region.center.latitude, region.center.longitude, region.span.latitudeDelta, region.span.longitudeDelta]);
[mapView setRegion:region];
NSLog([NSString stringWithFormat:@"Region on map: %f %f %f %f", mapView.region.center.latitude, mapView.region.center.longitude, mapView.region.span.latitudeDelta, mapView.region.span.longitudeDelta]);
क्षेत्र मैं उपयोगकर्ता चूक से पढ़ा है (नहीं आश्चर्य की बात) जब यह बचा लिया गया था के रूप में बिल्कुल वैसा ही। ध्यान दें कि बचाया गया है सीधे नक्शे से आता है, इसलिए यह किसी भी तरह से परिवर्तित नहीं होता है। मैंने इसे setRegion:
विधि के साथ मानचित्र पर वापस सेट किया है, लेकिन फिर यह अलग है!
उदाहरण परिणाम:
Region read : 50.241110 8.891555 0.035683 0.042915<br>
Region on map: 50.241057 8.891544 0.050499 0.054932
किसी को भी पता है कि ऐसा क्यों होता?
मुझे आपकी इच्छित नक्शा क्षेत्र को प्राप्त करने का एक समाधान मिला: http://stackoverflow.com/questions/3612007/mkmapview-setregion-snaps-to-predefined-zoom-levels/7935 – AlexWien