2012-11-01 4 views
1

나는 costum 이미지를 설정할 때 userLocation이 움직이지 않는 이유를 알지 못합니다.UserLocation 이미지가 움직이지 않음

이미지를 설정하지 않으면 기본 핀은 파란색을 사용하고 작동합니다. 나는 위치가 바뀔 때 사용자 위치가 움직이는 것을 볼 수있다.

여기 내 viewForAnnotation은 다른 게시물에서 가져온 것입니다.

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 
{ 
    static NSString* AnnotationIdentifier = @"Annotation"; 
    MKPinAnnotationView *pinView = (MKPinAnnotationView *)[mk dequeueReusableAnnotationViewWithIdentifier:AnnotationIdentifier]; 
    if (!pinView) 
    { 
     pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier] autorelease]; 
     pinView.animatesDrop = NO; 
     pinView.canShowCallout = YES; 
    } 
    else 
    { 
     pinView.annotation = annotation; 
    } 

    if (annotation == mk.userLocation) 
     pinView.image = [UIImage imageNamed:@"PositionPin.png"]; 
    else 
     pinView.image = [UIImage imageNamed:@"PositionPin.png"]; 

    return pinView; 
}  
+0

'mk'의 정의는 무엇입니까? –

+0

죄송합니다 mapView – james075

+0

pinView.animatesDrop을 YES로 설정하는 것은 어떻습니까? –

답변

0

이지도보기 사용자 위치가 더 이상 사용자 지정 주석보기를 사용하는 경우 업데이트 좌표 (아이폰 OS 6에 여전히 존재)에서 버그가 수 있도록이 나타납니다 (문서는 제안에도 불구하고 그것은 작동합니다).

코어 위치를 사용하여 사용자 위치 업데이트를 얻고지도보기의 userLocation을 사용하는 대신 자신의 특수 효과를 만든 다음 viewForAnnotation에 맞춤 이미지를 제공합니다.

자세한 내용과 해결 방법을 구현하기위한 몇 가지 샘플 코드는 Custom Annotation view for userlocation not moving the mapview에 대한 대답을 참조하십시오.


는 또한, 당신의 주석보기를 사용자 정의 이미지를 사용하는 경우, 당신은 MKAnnotationView 대신 MKPinAnnotationView 사용해야 있습니다.
MKPinAnnotationView을 사용하는 경우 맞춤 이미지 대신 기본 핀 이미지가 표시되는 경우가 있습니다.

0
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 
{ 
    static NSString* AnnotationIdentifier = @"Annotation"; 
    MKPinAnnotationView *pinView = (MKPinAnnotationView *)[mk dequeueReusableAnnotationViewWithIdentifier:AnnotationIdentifier]; 
    if (!pinView) 
    { 
     pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier] autorelease]; 
     pinView.animatesDrop = NO; 
     pinView.canShowCallout = YES; 
    } 
     pinView.annotation = annotation; 
     pinView.image = [UIImage imageNamed:@"PositionPin.png"]; 

    return pinView; 
}  
+0

xx입니다.하지만 확대했을 때만 움직입니다. 왜 자동으로 움직이지 않는지 알고 있습니까? – james075

관련 문제