Domanda

A cura di aggiungere * non ho ancora trovato una soluzione per questo, chiunque può aiutare prego? Il mio problema è simile a questo, ma la risposta postato non t lavoro per me - MKMapView rinfrescarsi dopo pin si muove * Fine Modifica

Ho una ricerca abilitato guarda la mappa. Quando l'utente colpisce di ricerca, le mie annotazioni personalizzate vengono aggiunti alla visualizzazione della mappa. La ricerca restituisce 20 risultati con un 'carico di piu' di collegamento. Quando mi ha colpito caricare più, più annotazioni dovrebbero essere aggiunti alla cartina.

Il problema è - le annotazioni viene aggiunto alla visualizzazione della mappa, ma non viene visualizzato sulla mappa. Se io ingrandire o rimpicciolire a cambiare la regione della mappa, vengono mostrati i perni.

Trovo che viewForAnnotations: non è sempre chiamato quando ho colpito 'carico di piu'. Io non sono sicuro di come attivare questo. qualcuno?

-(void)completedSearch:(NSNotification *)resultNotification
 {
   //begin loop
   //get coordinate
   customAnnotation *annot = [[customAnnotation alloc] initWithCoordinate:coordinate];
   //set title subtitle 
   [annotationsArray addObject:annot];
   //end loop
   [mView addAnnotations:annotationsArray];
   [mView setRegion:region animated:YES];
   [mView regionThatFits:region];
 }

  //custom annotation
  @interface customAnnotation : NSObject <MKAnnotation> 
 { 
   CLLocationCoordinate2D coordinate;  
   NSString*              title; 
   NSString*              info; 
 } 
 @property (nonatomic, retain) NSSting *title;
 @property (nonatomic, retain) NSSting *info;

 -(id) initWithCoordinate:(CLLocationCoordinate2D)c;
 @end

 @implementation customAnnotation
 @synthesize coordinate, title, info;
 -(id) initWithCoordinate:(CLLocationCoordinate2D)c
 {
   coordinate = c;
   return self;
 }
 -(void)dealloc{//dealloc stuff here}
 @end
È stato utile?

Soluzione 2

Questo ha qualcosa a che fare con il lasso di tempo ricevuto la notifica e quindi aggiungendo i perni di annotazione. Costringendolo a utilizzare il filo principale per aggiungere perni annotazione lavorato.

Altri suggerimenti

voluto solo per confermare stavo aggiungendo annotazioni da un filetto - che non lavorare. Una volta ho usato questo (addCameraIconOnMain aggiunge miei annoations)

[self performSelectorOnMainThread:@selector(addCameraIconOnMain:) withObject:cd waitUntilDone:true];    

il suo operato! grazie!

nel mio caso il problema era stavo aggiungendo l'annotazione prima che la mappa delegato. Deve essere qualcosa di simile:

- (void)viewDidLoad
{
    ...

   // map delegate
   [mView setDelegate:self];

   ...

   // add annotation
   [_map addAnnotation:_poiAnnotation];

   ...
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top