Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 根据appdelegate发送的坐标在mapview上放置接点_Iphone_Ios_Mkmapview - Fatal编程技术网

Iphone 根据appdelegate发送的坐标在mapview上放置接点

Iphone 根据appdelegate发送的坐标在mapview上放置接点,iphone,ios,mkmapview,Iphone,Ios,Mkmapview,这花了我好几天的时间,我没法让它工作。 我编写了一个在地图上放置pin的方法,如下所示: - (void) SetMaps:(NSString *)Lats :(NSString *)lons; { if([upLo isEqualToString:@"Y"]) { NSLog(@"setting maps:%@,%@",Lats,lons); [mapView setMapType:MKMapTypeStandard]; [map

这花了我好几天的时间,我没法让它工作。 我编写了一个在地图上放置pin的方法,如下所示:

- (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];

    }
}
如果我在选项卡栏控件应用程序的secondViewController.m中调用该方法,则该方法运行良好

但是,我想从appdelegate.m调用它。 所以在appdelegate.m中,我把

secondViewController *Gper=[[secondViewController alloc]init];
[Gper SetMaps:LAT:LON];
[Gper release];
从该NSLog(@“设置映射:%@、%@”、Lats、lons);我可以看出lat和lons值在这种方法中是正确的。 但是,地图不会更改到此位置

我该怎么做才能让它显示新的位置

谢谢你的帮助

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


用大写字母开始你的班名。您的方法名称用小写字母命名。

这与Xcode没有任何关系。是的,我是OjectiveC的新手。那么如何在不创建新实例的情况下调用该函数呢?@STANLEY Well。。。不创建新实例!我将该行更改为secondViewController*Gper;它在运行时给出[Gper SetMaps:LAT:LON]上的错误@STANLEY当然会,因为您使用的是未初始化的指针。对不起,我不是来教你C和Objective-C的,你必须先做一些研究。恐怕你要花很长时间才能写出这样的应用程序。目前,我建议你抓起K&R C仔细阅读。