マップキットでデフォルトのユーザーの場所とカスタムアノテーションビューを表示する方法
-
05-07-2019 - |
質問
マップキットを使用して、カスタマイズされた注釈ビューを表示しています。 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;
}
所属していません StackOverflow