这需要我几天......我无法工作。 我写了一个方法,将一个引脚放在地图上,如下所示:
- (void) SetMaps:(NSString *)Lats :(NSString *)lons;
{
if([upLo isEqualToString:@"Y"])
{
NSLog(@"setting maps:%@,%@",Lats,lons);
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } };
region.center.latitude = [Lats doubleValue] ;
region.center.longitude = [lons doubleValue];
region.span.longitudeDelta = 0.01f;
region.span.latitudeDelta = 0.01f;
[mapView setRegion:region animated:YES];
[mapView setDelegate:self];
MKPointAnnotation *point = [[MKPointAnnotation alloc] init];
point.coordinate = region.center;
[self.mapView addAnnotation:point];
}
}
如果我在tabbar controll应用程序中的secondViewController.m中调用它,这个方法运行良好。
但是,我想从appdelegate.m调用它。 所以在appdelegate.m中,我把
secondViewController *Gper=[[secondViewController alloc]init];
[Gper SetMaps:LAT:LON];
[Gper release];
来自这个NSLog的(@“设置地图:%@,%@”,Lats,lons);我可以看到这个方法中的lat和lons值是正确的。 但是,地图不会更改为此位置。
我应该做什么才能让它显示新的位置?
感谢您的帮助。
答案 0 :(得分:1)
我觉得你应该在做更进一步的事情之前更好地学习(目标 - )C内存管理和Cocoa约定。 + alloc
返回视图控制器类的新实例,而不是当前显示的实例。
用大写字母开始你的课程名称。并且您的方法名称为小写。