1

コスタム画像を設定したときに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;
}    
4

2 に答える 2

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;
}    
于 2012-11-01T15:33:06.843 に答える
0

これは、カスタム注釈ビューが使用されたときにユーザーの位置座標が更新されなくなったマップビュー(iOS 6に引き続き存在)のバグのようです(ドキュメントでは機能することが示されていますが)。

回避策は、Core Locationを使用してユーザーの場所の更新を取得し、(マップビューのを使用する代わりに)独自の注釈を作成してからuserLocation、でカスタム画像を提供することですviewForAnnotation

詳細と回避策を実装するためのサンプルコードについては、マップビューを移動しないユーザーロケーションのカスタム注釈ビューへの回答を参照してください。


さらに、注釈ビューにカスタム画像を使用する場合は、MKAnnotationViewの代わりにを使用する必要があることに注意してくださいMKPinAnnotationView
を使用するMKPinAnnotationViewと、カスタム画像の代わりにデフォルトのピン画像が表示されることがあります。

于 2012-11-01T15:58:18.267 に答える