Frage

Edited hinzufügen * Ich habe keine Lösung für diese noch nicht gefunden, kann jemand helfen bitte? Mein Problem ist, ähnlich wie diese, aber die Antwort geschrieben nicht t Arbeit für mich - MKMapView refresh nach Stift bewegt * Ende Bearbeiten

Ich habe eine Suche Kartenansicht aktiviert. Wenn der Benutzer Treffer zu suchen, meine individuellen Anmerkungen zu der Kartenansicht hinzugefügt. Die Suche liefert 20 Ergebnisse mit einer ‚Last mehr‘ -Link. Wenn ich getroffen Last mehr, sollte mehr Anmerkungen hinzugefügt werden Ansicht abzubilden.

Das Problem ist - Anmerkungen werden in der Kartenansicht hinzugefügt, aber nicht auf der Karte angezeigt. Wenn ich weiter vergrößern oder verkleinern die Karte Region ändern zu können, werden die Stifte gezeigt.

ich, dass viewForAnnotations finden: nicht genannt wird, wenn ich Hit ‚Last mehr‘. Ich bin nicht sicher, wie dies zu triggern. jemand?

-(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
War es hilfreich?

Lösung 2

Das ist etwas hatte mit dem Zeitablauf Erhalt der Anzeige zu tun und dann das Hinzufügen der Annotation-Pins. Erzwingen es den Haupt-Thread verwenden Annotation pins gearbeitet hinzuzufügen.

Andere Tipps

wollte nur bestätigen i wurde Hinzufügen von Anmerkungen von einem Thread - die nicht funktionieren. einmal habe ich diese (addCameraIconOnMain fügt meine annoations)

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

sein gearbeitet! Dank!

in meinem Fall das Problem war ich Hinzufügen der Anmerkung, bevor die Karte delegieren. Es muss sein, so etwas wie:

- (void)viewDidLoad
{
    ...

   // map delegate
   [mView setDelegate:self];

   ...

   // add annotation
   [_map addAnnotation:_poiAnnotation];

   ...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top