2011-01-19 53 views
0

我将地图功能集成到我的应用程序中。我已经显示了当前位置。在我的问题是,我正在开发两个应用程序并显示当前位置。但是这两个应用程序在地图中的不同位置和不同视图中显示当前位置。查看我的屏幕截图alt textalt text当前位置在iPhone中使用MKMapView的问题?

这两个屏幕截图均由具有两个应用程序的模拟器拍摄,并显示不同的地图视图框架。但是我使用了相同的代码(这也发生在设备中,显示与地图框架不同的地方)。我不知道为什么地图视图框架更改?我已经在XIB中创建了地图视图框架。我已经包含了所需的框架并打开了位置服务。为什么地图框架视图改变?对我来说很奇怪。

这里我的示例代码,

- (void)viewDidLoad { 

     [super viewDidLoad]; 
     self.locationManager = [[[CLLocationManager alloc] init] autorelease]; 

     self.locationManager.delegate = self; 

     [mapview setShowsUserLocation:YES]; 

    [locationManager startUpdatingLocation]; 

}

- (void)locationManager: (CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
{  
    MKCoordinateRegion region1; 

    region1.center = newLocation.coordinate; 

    //Change the Zoom level of the current location 

    //region1.span.latitudeDelta = 0.1;//0.0001 

    //region1.span.longitudeDelta = 0.1; //0.0001 

    mapview.mapType = MKMapTypeStandard; 

    //[mapview setRegion:region1 animated:TRUE]; 

    [locationManager stopUpdatingLocation]; 

    } 

我希望,第一截屏图来看框架是正确的。因为我已经通过地图视图坐标(东北,西北,东南和西南)到服务器。如果帧大小错误,我将从服务器获取错误的用户详细信息。 请帮我一把。

谢谢!

回答

0

您的locationManager:didUpdateToLocation:fromLocation:中被注释掉的行是更新地图视图所必需的。您需要致电[mapView setRegion:animated]才能更改视图区域。你的代码在两个应用程序中是否完全相同?

我假设你知道,在模拟器中,当前位置始终是Cupertino的Apple总部,如您的第一个截图所示。