マップキットでデフォルトのユーザーの場所とカスタムアノテーションビューを表示する方法

StackOverflow https://stackoverflow.com/questions/1606781

質問

マップキットを使用して、カスタマイズされた注釈ビューを表示しています。 1つはcarImageで、もう1つはuserImage(ユーザーの現在の場所として)です。マップキットで提供される現在のユーザーの場所のデフォルトを表示したいのですが、表示できません。マップキットに青い円と自分の車を表示するにはどうすればよいですか。

役に立ちましたか?

解決

ユーザーの場所を表示するには、マップビューオブジェクトで次のプロパティをtrueに設定します

mapView.showsUserLocation = YES;

カスタムアノテーションを表示するには、マップビューアノテーションで画像プロパティを設定します

 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation 
{
// check for nil annotation, dequeue / reuse annotation
// to avoid over riding the user location default image ( blue dot )

if ( mapView.UserLocation == annotation ) {

return nil; // display default image

}

MKAnnotationView* pin = (MKAnnotationView*)
[mapView dequeueReusableAnnotationViewWithIdentifier: PIN_RECYCLE_ID];

if ( pin == nil ) {

pin = [(MKAnnotationView*) [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier: PIN_RECYCLE_ID] autorelease] ;

pin.canShowCallout = YES;

}
else {

[pin setAnnotation: annotation];
}

pin.image = [UIImage imageNamed:@"car-image.png"];

return pin;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top