1

CoreLocationとMapKitは初めてですが、この奇妙な問題があります。基本的に、UIViewにMKMapViewを表示しています。MKMapViewを次のように設定すると:

self.mapView.showsUserLocation = YES;
//self.mapView.delegate = self;

私はこれを得る(1):

ここに画像の説明を入力してください

しかし、2行目のコメントを外すと、これ(2)が表示されます。これは奇妙だと思います。

ここに画像の説明を入力してください

MKMapViewのデリゲートを自分自身に設定し、それでも(1)を取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

3

viewForAnnotationコントローラのアノテーション(メソッド)を上書きしていませんか?デリゲートをselfに設定すると、注釈が上書きされているように見えます。

クラスの注釈を変更する場合は、次の行を追加します。これにより、「現在の場所」ポイントの注釈が変更されなくなります。

- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation
{
    static NSString *AnnotationViewID = @"annotationViewID";

    // Check if its the annotation for displaying the current position
    if ([annotation isKindOfClass:[MKUserLocation class]])
    {
        return nil;
    }

    // Your annotation code

}
于 2012-04-29T19:48:33.950 に答える