0

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

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

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

我可以按照下面的代码在我的 detailview.m 文件中创建一个地图视图/子视图,但我选择的每一行/单元格的地图都保持不变。我希望地图每行/单元格选择不同的坐标,并在详细视图中显示数据。

//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. 当我在我的表格视图中选择行/单元格并在我的详细视图中为七个行/单元格中的每一个正确显示来自数据库的 json 数据时,我怎样才能让地图视图更改为与显示的数据相关的适当坐标详细视图?
4

1 回答 1

0

如果您查看代码的这些行 -

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

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

您需要在这里做的是,当您选择一行时,UITableView您必须将与该行对应的坐标传递给您的详细信息视图。然后使用这些坐标来改变 的区域MKMapView

于 2013-04-23T04:58:49.247 回答