Hiren Patel
Hiren Patel

Reputation: 69

Rotate image as per the direction of user follows in Map

I want to rotate the bike / car image in the direction of user follows. Right now the image follows the direction but looks non directive, we can say the point is not follows the direction :

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

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

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

    annotationView.image = [UIImage imageNamed:@"Bike.png"];
    annotationView.annotation = annotation;

    return annotationView;
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    if (newLocation.horizontalAccuracy < 0)
        return;
    if  (!newLocation)
        return;

    currentLocation = newLocation;
    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];
    }
}

Upvotes: 2

Views: 183

Answers (1)

incanus
incanus

Reputation: 5128

Check out Core Location's -[CLLocationManagerDelegate locationManager:didUpdateHeading:].

Upvotes: 1

Related Questions