1

json からマップに情報を表示しようとしていますが、何も起こりません 何かが欠けていると思いますので、マップに情報を表示できます json を機能させてログに情報を取得するように管理します。 nsdictionary と配列を作成して、マップビューに情報を表示できるようにします。ここに私がこれまでにアレイで行った戦争があります:

NSData *data =[NSData dataWithContentsOfURL:[NSURL URLWithString:@"URL"]];

NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

NSLog(@"Datos Obtenidos:\n%@",dict);
NSDictionary *cortes;
NSError* error;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:data
                                                     options:kNilOptions
                                                       error:&error];
NSMutableArray *jsonCheckins = [NSMutableArray array];
for(NSDictionary *jsonElement in jsonArray){
    InitViewController *checkin = [InitViewController checkinFromDictionary:jsonElement];
    [jsonCheckins addObject:checkin];
}

このコードを追加するために管理しますが、それでも情報はマップビューに表示されません:

- (CLLocationCoordinate2D) checkinCoordinate { 
   CLLocationCoordinate2D coordinate;
   coordinate.latitude = self.checkin.latitud;
   coordinate.longitude = self.checkin.longitud;
   return coordinate;}

- (void)showCheckinAnnotation { 
MKPointAnnotation *annotationPoint = [[MKPointAnnotation alloc] init];
annotationPoint.coordinate = [self checkinCoordinate];
annotationPoint.title = self.checkin.type;
annotationPoint.subtitle = self.checkin.description;
[self.mapView addAnnotation:annotationPoint];}

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
MKAnnotationView *annotationView= nil;
if(annotation != mapView.userLocation) {
static NSString *annotationViewId = @"annotationViewId";
annotationView = (MKAnnotationView *)[mapView         
dequeueReusableAnnotationViewWithIdentifier:annotationViewId];
if (annotationView == nil) {
    annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annotationViewId];
       }
   }
 return annotationView;}
4

1 に答える 1