2010-09-10 8 views
13

J'ai étendu la capacité de MapKit à dessiner des images d'annotation personnalisée avec le code suivant:Mapview Extended: viewForAnnotation maintenant Aucun Blue Dot

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{ 
    NSLog(@"Drawing a cloud on the map"); 
    MKAnnotationView *view; 
    if(annotation != mapView.userLocation){ 
     view=[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"parkingloc"]; 
     view.image=[UIImage imageNamed:@"placemarkCloud.png"]; 
     [view setCanShowCallout:YES]; 
     [view setRightCalloutAccessoryView:[UIButton buttonWithType:UIButtonTypeDetailDisclosure]]; 
    } 
    else{ 
     view= 
    } 
    return view; 
} 

Ma question est ce que dois-je faire vue = dans le but de conserver l'iPhone est construit en point bleu. Vous pouvez voir que j'élimine mon dessin personnalisé dessiné pour le point, mais je ne sais pas comment le faire apparaître par défaut.

Répondre

47

Ne mettez rien dans l'autre. Je fais le contrôle suivant. Je pense que cela est dérivé de l'exemple de code Apple.

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{ 

if ([annotation isKindOfClass:[MKUserLocation class]]) { 
    //Don't trample the user location annotation (pulsing blue dot). 
    return nil; 
} 

//Continue on to your regular code here.