2010-05-06 26 views
0

Je travaille sur une application iPhone en utilisant le SDK 3.1.3, mon application trouve l'emplacement actuel des utilisateurs, l'affiche sur un MKMapView, puis trouve des emplacements à proximité et les rend comme MKAnnotations. Mon code fonctionne, mais parfois les annotations voisines n'apparaissent pas sur la carte. Ils sont toujours faits comme je vois les données correctes dans la console (de NSLog qui s'exécute juste après que les annotations sont faites). Quand il échoue est complètement aléatoire, il pourrait être la cinquième fois que j'ai frappé "Build and Run" pour la journée, ou le 500e, il ne semble pas avoir de modèle et ne lance aucun type de erreur, il n'ajoute simplement pas les annotations à MapView.MKAnnotations sont effectuées avec succès, mais ils ne parviennent pas parfois à rendre sur MKMapView

C'est la méthode appelée pour chaque emplacement à proximité d'ajouter MKAnnotation.

- (void)addPinsWithLocation:(NSDictionary *)spot 
{ 
    CLLocationCoordinate2D location; 
    location.longitude = [[spot objectForKey:@"spot_longitude"] doubleValue]; 
    location.latitude = [[spot objectForKey:@"spot_latitude"] doubleValue]; 

    PlaceMarks *placemark = [[PlaceMarks alloc] initWithCoordinate:location title:[spot objectForKey:@"spot_name"] subtitle:@""]; 
    NSLog(@"Adding Pin for Location: '%@' at %f, %f", [spot objectForKey:@"spot_name"], location.latitude, location.longitude); 
    [mapView addAnnotation:placemark]; 
} 

Toutes les idées sur la façon d'obtenir MKAnnotations pour montrer toujours?

Répondre

0

Je fais actuellement une application qui veut afficher toutes les annotations visibles - j'essayer de configurer votre délégué de vue de la carte mise en œuvre alors la méthode suivante:

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views 

Ici vous pouvez comprendre ce que les annotations ont été ajoutées et par exemple zoomer sur la carte pour leur montrer - ce blog vous donne un code source pour faire ce zoom à monter:

http://codisllc.com/blog/zoom-mkmapview-to-fit-annotations/

Voici quelques bons conseils pour améliorer vos informations de localisation:

Optimizing CLLocationManager/CoreLocation to retrieve data points faster on the iPhone