Comment afficher l'emplacement utilisateur par défaut et une vue d'annotation personnalisée dans le kit de cartes?

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

Question

J'utilise un kit de carte et affiche une vue d'annotation personnalisée. L'une est carImage et l'autre est userImage (en tant qu'emplacement actuel de l'utilisateur). Maintenant, je veux montrer la localisation par défaut de l'utilisateur, qui est fournie par map kit.but incapable de le montrer. Comment afficher le cercle bleu + ma voiture dans le kit cartographique?

Était-ce utile?

La solution

Pour afficher l'emplacement de l'utilisateur, définissez la propriété suivante sur true sur l'objet d'affichage de la carte

mapView.showsUserLocation = YES;

Pour afficher une annotation personnalisée, définissez la propriété de l'image sur l'annotation de la vue Carte

 - (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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top