Ich verwende Map Kit und zeige eine benutzerdefinierte Anmerkungsansicht. Eine ist carImage und die andere ist userImage (als aktueller Standort des Benutzers). Jetzt möchte ich den aktuellen Standort des Benutzers standardmäßig anzeigen, der von Map Kit bereitgestellt wird, aber ich kann ihn nicht anzeigen. Wie zeige ich den blauen Kreis und mein Auto im Karten-Kit?
Antwort
Zu viele Anzeigen?Um den Standort des Benutzers anzuzeigen, setzen Sie die folgende Eigenschaft im Objekt Kartenansicht auf true
mapView.showsUserLocation = YES;
Um eine benutzerdefinierte Anmerkung anzuzeigen, legen Sie die Bildeigenschaft für die Kartenansicht-Anmerkung fest
- (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;
}