0

次のコードを使用して、ユーザーの場所を取得し、mapView に表示しようとしていますiOS6

- (void) locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
if (locations.count>0) {
    for (CLLocation *location in locations) {
        [locationList addObject:location];

        if (location != nil) {
            // Zoom to the current user location.
            MKCoordinateRegion userLocation =[mapView regionThatFits: MKCoordinateRegionMakeWithDistance(location.coordinate, 150.0, 150.0)];
            [mapView setRegion:userLocation animated:YES];
            NSLog(@"%f,%f", mapView.centerCoordinate.latitude,mapView.centerCoordinate.longitude);
            NSLog(@"%f,%f", mapView.region.span.latitudeDelta,mapView.region.span.longitudeDelta);
        }
    }
}

}

ただし、場所が更新された後、の[mapView setRegion:userLocation animated:YES]領域は変更されませんmapViewが、ユーザーの場所は青い点として表示されます。このNSLogようなプリント:

nan,nan
0.000000,360.000000

つまり、何も変わっていません。マップに関するほとんどの質問を確認しましたが、このメソッドを呼び出して、マップの中心に位置表示を取得するだけです。

ユーザーの位置をマップの中心に配置する方法を知りたいです。

4

2 に答える 2

0

MKMapViewトラッキングモードをオンにするだけです

[mapView setTrackingMode:MKMapViewTrackingModeFollowsUser];
于 2013-01-17T19:43:11.323 に答える
0

これを試すことができます:

mMapView.showsUserLocation = YES;
于 2013-06-06T03:09:48.647 に答える