Ok, így érzem magam ezt a problémát. Amit akarok, hogy manuálisan hozzá több kommentárokat a térképet. Amikor hozzá csak egy magyarázat, akkor hibátlanul működik. A pin csepp, akkor kattints rá, hogy lássa a kiemelő, az élet jó.
A probléma akkor jön, amikor szeretnék, hogy adjunk több, mint egy. Amikor hozzá a második, hirtelen a pin-ek nem színezett helyesen (azaz attól függően, hogy mértékük kell őket egy bizonyos színt, de ők most mind ugyanaz ...), és ami még fontosabb, ha rájuk kattint, hogy azok kiemelő, az alkalmazás összeomlik exex_bad_access. Tényleg nincs ötlete, mi a baj, talán adok hozzá túl sok kilátás nyílik a térkép? De ez csak a 9 csapok és a csapokat magukat hozzá, csak finom. Itt a kód ...
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *stops = [[NSMutableArray alloc] init]; //Get list of all the stops available
Bus *bus1 = [[Bus alloc] init]; // Bus 1 holds the stops
stops = [bus1 returnStops];
for (NSString *stop in stops) //Go through each stop to add annotation to map
{
Bus *bus2 = [bus1 initWithStop:stop]; //Create an instance of bus with a given stop
MapAnnotation *eqAnn = [MapAnnotation annotationWithBus:bus2];
[self.mapView addAnnotation:eqAnn]; //Add the annotation to the map
//[eqAnn release];
//[bus2 release];
}
[self recenterMap];
[stops release];
}
- (MKAnnotationView *)mapView:(MKMapView *)mapView
viewForAnnotation:(id <MKAnnotation>)annotation {
MKAnnotationView *view = nil;
if(annotation != mapView.userLocation) {
MapAnnotation *eqAnn = (MapAnnotation*)annotation;
view = [self.mapView dequeueReusableAnnotationViewWithIdentifier:@busLoc];
if(nil == view) {
view = [[[MKPinAnnotationView alloc] initWithAnnotation:eqAnn
reuseIdentifier:@busLoc] autorelease];
}
CGFloat magnituide = [eqAnn.bus.magnitude floatValue];
if(magnituide >= .80f) {
[(MKPinAnnotationView *)view setPinColor:MKPinAnnotationColorRed];
} else if(magnituide >= .60f) {
[(MKPinAnnotationView *)view setPinColor:MKPinAnnotationColorPurple];
} else
{
[(MKPinAnnotationView *)view setPinColor:MKPinAnnotationColorGreen];
}
[(MKPinAnnotationView *)view setAnimatesDrop:YES];
[view setCanShowCallout:YES];
}
return view;
}
is próbált eltávolítjuk a második funkció, de nem csinál semmit.
Köszönöm a segítséget! PS Még azt is hozzá, ott általában egy vagy két csap ki a 9 ami működik, ha rákattint a kommentár ...
Ha én is megpróbálja kézzel csak két kommentárok kézzel a programban (azaz, távolítsa el a hurok), de még mindig nem működik, és a színek még mindig rossz ...













