0

このフラグを info.plist ファイルに設定しました: Required device capabilities - gps and megnetometer

しかし、出力ログはコース値に対して常に -1 を示します。以下はログです。

2013-09-09 11:05:09.930 MapApp[143:907] <+23.05910024,+72.53762685> +/- 65.00m (速度 -1.00 mps / コース -1.00) @ 09/09/13 11:05:00 AMインド標準時

@interface MAViewController : UIViewController <MKMapViewDelegate,CLLocationManagerDelegate>
{
    CLLocation *currentLocation;
    CLLocation *previousLocation;
    CLLocationManager *callMethod;
    MyAnnotation *myAnnotation;
    MKAnnotationView *annotationView;
}
@property (nonatomic, retain) IBOutlet UIImageView *bike;

@end


- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation
{
    static NSString *AnnotationViewID = @"annotationViewID";

    annotationView = (MKAnnotationView *)[map dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];

    if (annotationView == nil)
    {
        annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID] autorelease];
    }

    NSLog("%@",currentLocation.course);

    self.bike.transform = CGAffineTransformMakeRotation(45);
    annotationView.image = self.bike.image;

    return annotationView;
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    if (newLocation.horizontalAccuracy < 0)
        return;
    if  (!newLocation)
        return;
    currentLocation = newLocation;
    previousLocation = oldLocation;
    if(currentLocation != nil)
    {
        if (myAnnotation)
        {
            [self.myMapView removeAnnotation:myAnnotation];
        }
        CLLocationCoordinate2D location = CLLocationCoordinate2DMake(currentLocation.coordinate.latitude, currentLocation.coordinate.longitude);
        myAnnotation = [[MyAnnotation alloc] initWithCoordinates:location title:@"Current Location" subTitle:nil];
        [self.myMapView addAnnotation:myAnnotation];
    }
}
4

1 に答える 1

1

あなたのログは、速度も無効であることを示しています。だからあなたは

次のいずれかです:
- 動いていない
- または、GPS を位置情報サービスとして使用していない可能性が高い: 精度を CLLAccuracyBest に設定して、GPS 位置を確実に取得します。コースと速度、携帯電話基地局または Wi-Fi の場所では機能しません。

于 2013-09-15T13:56:49.847 に答える