문제

AAAARG ... 좋아, 나 자신을 진정 시키자.

누군가 mkmapview의 영역을 설정하는 데 아무런 문제가 있습니까? 나와 함께 일한 적이 없습니다.

이 코드 :

-(void)setUserCenteredSpan:(MKCoordinateSpan)span{ // for this example, span = {0.5, 0.5}
    // Current region (just initialised)
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
    // New Region
MKCoordinateRegion region = MKCoordinateRegionMake([[[self userLocation] location] coordinate],
                                                   span);
NSLog(@"%f, %f - %f, %f",   region.center.latitude,
                            region.center.longitude, 
                            region.span.latitudeDelta, 
                            region.span.longitudeDelta);
    // Region saved in MKMapView
[self setRegion:region animated:NO];
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
}

해당 로그를 반환합니다.

30.145127, -40.078125 - 0.000000, 0.000000
0.000000, 0.000000 - 0.500000, 0.500000
0.000000, 0.000000 - 0.000000, 0.000000

왜 그런지 아십니까 ??!

고마워요, 당신은 나를 X를 죽이지 않도록 저를 구할 수 있습니다.

편집 : 물론 인터넷에 연결된 장치에 있습니다.

도움이 되었습니까?

해결책

이전 로그를 정확히 이해하지 못하지만 내 오류가 어디에 있는지 알고 있습니다.

Instancied MKMapView는 프레임으로 초기화되지 않았지만 자동화 된 마스크가> 0으로 설정되었습니다.

SetRegion 방법이 호출되면 내 견해는 아직 짜여지지 않았습니다. 영역 값은 뷰 프레임에 따라 계산되므로 이러한 값을 찾을 수 없었습니다.

설정 영역을 수행하기 전에 프레임을 설정하면 정상적으로 표시됩니다.

안녕히 계세요 !

다른 팁

첫 번째 로그가 사용됩니다 self.region.center.latitude,하지만 나는 당신의 전화의 어느 곳에서나 그것을 보지 못합니다. MKCoordinateRegionMake. 로그는 당신이 지역을 설정하기 위해 사용하는 모든 것을 말하고 있습니다.

자동화 된 마스크를 설정하면 도움이되었습니다.

[_mapView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];   
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top