通过appdelegate发送的坐标在mapview上放置图钉

时间:2013-06-23 04:33:43

标签: iphone ios mkmapview

这需要我几天......我无法工作。 我写了一个方法,将一个引脚放在地图上,如下所示:

- (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值是正确的。 但是,地图不会更改为此位置。

我应该做什么才能让它显示新的位置?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我觉得你应该在做更进一步的事情之前更好地学习(目标 - )C内存管理和Cocoa约定。 + alloc返回视图控制器类的新实例,而不是当前显示的实例。

用大写字母开始你的课程名称。并且您的方法名称为小写。