titulos titulo texto subtitulos subtitulo subtemas sirve que primaria para ejercicios ejemplos objective-c xcode ios6 mapkit mkpinannotationview

objective-c - texto - titulos subtitulos y subtemas



Mapview no muestra el título o subtítulo de la anotación de pin (2)

La aplicación devuelve un error al hacer clic en el pin de anotación. Sin embargo, no se cuelga. Simplemente no muestra el título o subtítulo.

El error es (lldb) luego enumera una cadena de números como 0x3516b5a0.

ejemplo plist:

<dict> <key>cellName</key> <string>Abingdon Lodge No. 48</string> <key>cellSubtitle</key> <string>Abingdon, VA</string> <key>address</key> <string>325 W Main Street Abingdon, Virginia 24210</string> <key>latitude</key> <real>36.708649</real> <key>longitude</key> <real>-81.981184</real> <key>webSite</key> <string>http://www.grandlodgeofvirginia.org/lodges/48/</string> <key>statedCom</key> <string>Abingdon Lodge No. 48 holds it&apos;s stated communication on the 2nd Monday of the month at 7:30 PM. If there are any exceptions to the regular meeting day or time, they are posted on the Lodge website.</string> <key>history</key> <string>According to the earliest records the Abingdon Lodge had its origin “At a meeting held at the house of James White in the town.</string> </dict>

MapviewController.M

- (void)viewDidLoad { // Do any additional setup after loading the view, typiclly from a nib. //Create the region MKCoordinateRegion myRegion; //Center CLLocationCoordinate2D center; center.latitude = VA_LATITUDE; center.longitude = VA_LONGITUDE; //Span MKCoordinateSpan span; span.latitudeDelta = THE_SPAN; span.longitudeDelta = THE_SPAN; myRegion.center = center; myRegion.span = span; //Set our mapView [myMapView setRegion:myRegion animated:YES]; NSString *path = [[NSBundle mainBundle] pathForResource:@"lodges" ofType:@"plist"]; NSMutableArray* lodgelist = [[NSMutableArray alloc] initWithContentsOfFile:path]; for(int i = 0; i < [lodgelist count]; i++) { float realLatitude = [[[lodgelist objectAtIndex:i] objectForKey:@"latitude"] floatValue]; float realLongitude = [[[lodgelist objectAtIndex:i] objectForKey:@"longitude"] floatValue]; CLLocationCoordinate2D mypoint; mypoint.latitude = realLatitude; mypoint.longitude = realLongitude; Annotation *lodgepoint =[Annotation alloc]; lodgepoint.coordinate = mypoint; lodgepoint.title = [[lodgelist objectAtIndex:i] objectForKey:@"cellName"]; lodgepoint.subtitle = [[lodgelist objectAtIndex:i] objectForKey:@"cellSubtitle"]; [self.myMapView addAnnotation:lodgepoint]; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end

MapViewController.h

#import <UIKit/UIKit.h> #import <MapKit/MapKit.h> @interface AWCMapViewController : UIViewController @property (strong, nonatomic) IBOutlet MKMapView *myMapView; -(IBAction)findmylocation:(id)sender; -(IBAction)setmaptype:(id)sender; @property (strong, nonatomic) NSArray *tabledata; @end


En tus

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation

agregue lo siguiente debajo de su MKAnnottionView

customPinView.canShowCallout=YES;

Saludos


@interface Annotation : NSObject <MKAnnotation> @property(nonatomic, assign) CLLocationCoordinate2D coordinate; @property(nonatomic, copy) NSString *title; @property(nonatomic, copy) NSString *subtitle;

Tuve que cambiar el título de asignar a copiar. :PAG