2012-07-19 7 views
1

MapView에서 현재 위치를 사용자에게 성공적으로 표시 할 수 있습니다. 그러나 다른보기 컨트롤러로 가서 내 mapview로 돌아와서 블루 스크린이 보입니다. 왜?MkMapView에 파란색 화면이 표시됩니다.

이 내 코드입니다 : 당신이 돌아 오는 시점에서

- (void)viewWillAppear:(BOOL)animated { 

    MyManager * myManager = [MyManager sharedInstance]; 

    //if coming back from another screen, lets load the coordinates 
    if (myManager.centerOfMap) { 
     NSLog(@"myManager.centerOfMap has a value:"); 
     self.centerOfMap = myManager.centerOfMap; 
    } 


    CLLocationCoordinate2D zoomLocation;  
    zoomLocation = *(self.centerOfMap); 

    MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 0.5*METERS_PER_MILE, 0.5*METERS_PER_MILE); 
    MKCoordinateRegion adjustedRegion = [_mapView regionThatFits:viewRegion];     
    [_mapView setRegion:adjustedRegion animated:YES];  
} 
+3

이 블루 스크린은 실제로 바다입니다. Windows 블루 스크린과 혼동하지 말고 PC를 바다에 던지려합니다. – yinkou

답변

7

파란색 화면은 흔히 아프리카 해안을 (0,0) 가리키는 표시입니다.

CLLocationCoordinate2D zoomLocation; 
zoomLocation = *(self.centerOfMap); 

이것은 아마도 그것의 임의의 비트 지금 지적이 높다 의미합니다

@property (nonatomic, assign) CLLocationCoordinate2D * centerOfMap; 

에 해당이 비트는 알람 벨을 설정 centerOfMap

0

의 MKMapView 할당하거나 디버거에서 전무을 보여 않습니다입니까?

확실하지 않습니까? 다시보기 컨트롤러로 돌아 오면 코드에서 중단 점을 설정하고 콘솔에 "po _mapView"을 입력합니다. 결과를보십시오.

nil이면 Alloc/Init해야 할 것입니다. 아마도 ARC가 메모리를 절약하기 위해 MKMapView를 자동으로 비 웁니다.

질문 : [yourMainViewController presentViewController:newViewController animated:YES]을 사용하여 새로운보기 컨트롤러를 모달 방식으로 표시 하시겠습니까?

0

의 좌표를 인쇄 해보십시오 스택으로 덮어 씌워졌습니다. 고차원 단어는 0에서 0x4000000 (0과 10 억 - 대부분의 정수와 메모리 주소가이 범위에 속할 것임) 사이에있을 가능성이 높습니다. 즉, 대략 0에서 2 사이의 이중으로 끝납니다.

*을 제거하십시오.

관련 문제