Ios 是否按类别将MKMAPKIT注释信息导入详图视图控制器?

Ios 是否按类别将MKMAPKIT注释信息导入详图视图控制器?,ios,objective-c,json,mapkit,mapkitannotation,Ios,Objective C,Json,Mapkit,Mapkitannotation,我有一个地图,它有多个注释,这些注释绘制在地图上,源于JSON数据,这些数据在UITableViewController中按类别划分,其中包含纬度和经度等信息以及其他信息,如:地址、电话号码等 我知道如何为每个注释视图添加详细信息披露按钮,但如何将该信息获取到详细信息视图控制器中 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {

我有一个地图,它有多个注释,这些注释绘制在地图上,源于JSON数据,这些数据在UITableViewController中按类别划分,其中包含纬度和经度等信息以及其他信息,如:地址、电话号码等

我知道如何为每个注释视图添加详细信息披露按钮,但如何将该信息获取到详细信息视图控制器中

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
    if([annotation isKindOfClass:[MKUserLocation class]]) {

        return nil;
    }
    MKPinAnnotationView *pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"annoPin"];
    MKAnnotationView *view = [self.mapView dequeueReusableAnnotationViewWithIdentifier:@"annoView"];
    if(!view) {
        view = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"annoView"];
    }



    UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    [rightButton addTarget:nil action:@selector(showDetails :) forControlEvents:UIControlEventTouchUpInside];
    pinView.animatesDrop = YES;
    view.rightCalloutAccessoryView = rightButton;
    view.image = [UIImage imageNamed:@"check.png"];
    view.enabled = YES;
    view.canShowCallout = YES;
    return view;
}
-(MKAnnotationView*)地图视图:(MKMapView*)地图视图注释:(id)注释
{
if([annotation isKindOfClass:[MKUserLocation类]]){
返回零;
}
MKPinAnnotationView*pinView=[[MKPinAnnotationView alloc]initWithAnnotation:annotation重用标识符:@“annoPin”];
MKAnnotationView*view=[self.mapView dequeuereusableannotationview with identifier:@“annoView”];
如果(!视图){
视图=[[MKAnnotationView alloc]initWithAnnotation:annotation重用标识符:@“annoView”];
}
UIButton*rightButton=[UIButton Button类型:UIButtonTypedTailButton];
[rightButton addTarget:nil操作:@selector(showDetails:)for ControlEvents:UIControlEventTouchUpInside];
pinView.animatesDrop=是;
view.rightCalloutAccessoryView=rightButton;
view.image=[UIImage ImageName:@“check.png”];
view.enabled=是;
view.canShowCallout=是;
返回视图;
}

如您所见,我已经创建了一个按钮,但是如何将每个类别的JSON信息传递给UITableViewController中每个类别的detail ViewController?

当您创建添加到mapview的注释时,您需要向它提供最终将到达detail view控制器的所有信息,或者至少是对以后可以获得的数据的引用。然后在
mapView:annotationView:calloutAccessoryControlTapped:
中,当点击披露按钮时,会在map委托上调用它,获取annotationview的注释并从中获取数据。

在创建注释时将包含json响应的字典与注释类绑定,因此我应该为每个类别创建注释类?否创建自定义annotationview类并将json响应作为对象绑定到上面的
pinView
变量不是做任何事。你最好把它移走。