mkmapview : setregion이 작동하지 않습니다!
-
07-07-2019 - |
문제
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];
제휴하지 않습니다 StackOverflow