想要在选择UItableViewCell时获得不同的mapview

时间:2013-04-22 23:49:08

标签: ios json uitableview mapkit

作为我的应用程序的一部分,我的一个tableviews有七行/单元格。当您单击每一行时,它会将其数据显示到详细视图,使用与所选行的此行/单元格相关的适当数据更改UILabels。我正在使用mysql数据库并将其转换为json以获取tableview行/单元格的日期以及详细视图。

在mysql数据库中,每个列包含与街道地址相关的名称,街道地址,经度和纬度坐标。

我的tableview以及我的详细视图正在填充正确的数据。但是我还希望在我的详细视图中有子视图来包含一个mapview,当详细视图显示特定数据时,它会根据街道地址或坐标进行更改。

我可以根据下面的代码在我的detailview.m文件中创建mapview / subview,但是对于我选择的每个行/单元格,地图保持不变。我希望映射每行/单元格选择不同的坐标,并在详细视图中显示数据。

//Create NSCC MapView

MKMapView * mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 446, 768, 415)];
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } };
region.center.latitude = 40.494828;
region.center.longitude = -74.443016;
region.span.longitudeDelta = 0.01f;
region.span.latitudeDelta = 0.01f;
[mapView setRegion:region animated:YES];

[mapView setDelegate:self];

//Set PIN Location for NSCC on MKMapView

NSCCDisplayMap *ann = [[NSCCDisplayMap alloc] init];
ann.title = @"NSCC New Brunswick";
ann.subtitle = @"18 Paterson Street New Brunswick, NJ 08901";
ann.coordinate = region.center;
[mapView addAnnotation:ann];

//Add NSCC MKMapView object as a subview to our view

[self.view addSubview:mapView];

所以我想我真正的问题是:???

  1. 当我在tableview中选择行/单元格并在我的详细视图中为七个行/单元格中的每一个正确显示数据库中的json数据时,如何将mapview更改为与该视图相关的适当坐标详细信息显示在详细视图中?

1 个答案:

答案 0 :(得分:0)

如果你看一下代码的这些行 -

region.center.latitude = 40.494828;
region.center.longitude = -74.443016;

然后它清楚地表明您没有使用不同的latitudelongitude来更改MKMapView的区域,而不是在此处硬编码某些值。

您需要做的是在UITableView中选择一行,然后您必须将与该行对应的坐标传递到详细视图。然后使用这些坐标更改MKMapView的区域。