MkMapview - عرض Viewforannotation لم يتم استدعاؤه أثناء تحميل المزيد من النتائج

StackOverflow https://stackoverflow.com/questions/2494810

سؤال

تم تحريره لإضافة * لم أجد حلاً لهذا الحارس حتى الآن ، هل يمكن لأي شخص المساعدة؟ مشكلتي مشابهة لهذا ولكن الإجابة المنشورة لا تعمل بالنسبة لي - تحديث MkMapview بعد تحركات الدبوس *نهاية التحرير

لدي عرض خريطة تمكين البحث. عندما يضرب المستخدم البحث ، تتم إضافة التعليقات التوضيحية المخصصة إلى عرض الخريطة. يعيد البحث 20 نتائج مع رابط "تحميل أكثر". عندما أضغط على المزيد ، يجب إضافة المزيد من التعليقات التوضيحية إلى عرض الخريطة.

المشكلة هي - يتم إضافة التعليقات التوضيحية إلى عرض الخريطة ولكن لا يتم عرضها على الخريطة. إذا قمت بتكبير أو تصغير لتغيير منطقة الخريطة ، يتم عرض المسامير.

أجد أن ViewForannotations: لا يتم استدعاؤها عندما تضغط على "تحميل المزيد". لست متأكدًا من كيفية تشغيل هذا. أي واحد؟

-(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
هل كانت مفيدة؟

المحلول 2

كان لهذا الأمر علاقة بالوقت الذي يتلقى فيه الإشعار ثم إضافة دبابيس التعليقات التوضيحية. إجباره على استخدام الخيط الرئيسي لإضافة دبابيس التعليقات التوضيحية.

نصائح أخرى

أردت فقط التأكيد على أنني كنت أضيف تعليقات توضيحية من موضوع - وهو ما لا يعمل. بمجرد استخدام هذا (AddCameraiconmain يضيف annoations)

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

انها عملت! شكرًا!

في حالتي ، كانت المشكلة هي أنني كنت أضيف التعليق التوضيحي قبل مندوب الخريطة. يجب أن يكون شيئًا مثل:

- (void)viewDidLoad
{
    ...

   // map delegate
   [mView setDelegate:self];

   ...

   // add annotation
   [_map addAnnotation:_poiAnnotation];

   ...
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top