2013-04-22 72 views
0

作爲我的應用程序的一部分,我的一個桌面視圖有七行/單元格。當你點擊每一行時,它將顯示它的數據到一個詳細的視圖,用適當的數據改變UILabels與選中的這一行/單元有關。我正在使用mysql數據庫並將其轉換爲json以獲取tableview行/單元格的日期以及詳細視圖。想要在選擇UItableViewCell時獲得不同的地圖視圖

在mysql數據庫中,每個包含名稱,街道地址,經度和緯度座標都與街道地址有關的列。

我的tableview以及我的詳細視圖正在填充正確的數據。不過,我還希望在詳細視圖中具有子視圖以包含一個mapview,該視圖根據街道地址或詳細視圖顯示特定數據時的座標進行更改。

我可以按照下面的代碼在我的detailedview.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行/單元格,並正確顯示在我的detailedView每個七行/細胞從數據庫中的JSON數據,我怎麼能得到的MapView切換到適當的座標關於顯示在detailedView中的數據?

回答

0

如果你看看你的代碼的這些行 -

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

那麼它清楚地表明,不使用不同latitudelongitude改變MKMapView的區域,而不是這個,你硬編碼一些值這裏。

你需要做的是當你在UITableView中選擇一行時,你必須將對應於該行的座標傳遞給你的詳細視圖。然後使用這些座標來更改MKMapView的區域。

相關問題