2011-07-17 10 views
1

MKAnnotation 대리자 처리기 클래스를 이와 같이 MKMapView에 추가했습니다.didAddAnnotationViews가 항상 호출되지 않음

MapAnnotation *anAnnotation = [[[MapAnnotation alloc] initWithCoordinate:coord] autorelease]; 
[myMapView addAnnotation:anAnnotation]; 

MapAnnotation은 MKAnnotation을 구현합니다.

그러나 didAddAnnotationViews는 항상 호출되지 않습니다. 때로는 (드물게) 그것이 때때로, 그렇지 않은 경우도 있습니다. 나는 몇 군데를 검사했고 이것을 정확하게 사용했다. 스팬 속성에도 영향을 줍니까?

MKCoordinateRegion region; MKCoordinateSpan span; span.latitudeDelta = 0.005f; span.longitudeDelta = 0.005f;

CLLocationCoordinate2D location; 

location.latitude = searchLocation.coordinate.latitude; 
location.longitude = searchLocation.coordinate.longitude; 

region.span=span; 
region.center=location; 

[myMapView setRegion:region animated:TRUE]; 
[myMapView regionThatFits:region]; 

이 코드가 무슨 문제입니까?

답변

3

이 대리자 메소드는 현재 표시되는 주석, 즉 현재 화면에 표시된지도 영역 내에있는 주석에 대해 호출됩니다.

+0

이 경우 인 것처럼 보이지만 "하나 이상의 주석보기가지도에 추가되었다는 것을 대리인에게 알리십시오"라는 문 서에서 찾을 수 없습니다. – Vanja

+0

@Vanja 주석보기는 좌표가 표시된지도 영역에있는 경우에만 추가되기 때문에 정확합니다. –

관련 문제