У меня есть требование, как в моем текущем местоположении появится одно представление. Он будет вращаться, если устройство вращается или местоположение будет изменено. Я исследую лот, но получил весь код, который имеет местоположение или угол исправления в каком-либо месте, но я не исправляю местоположение. Может ли кто-нибудь водить меня в правильном направлении.
Я также использовал свойство rotation GMSMarker, но он не работает.
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
if (newHeading.headingAccuracy < 0){
NSLog(@"heading accuracy < 0");
return;
}
// Convert Degree to Radian and move the needle
float oldRad = (- manager.heading.trueHeading) * M_PI / 180.0f;
float newRad = (- newHeading.trueHeading) * M_PI / 180.0f;
// Compass animation
CABasicAnimation *theAnimation;
theAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
theAnimation.fromValue = [NSNumber numberWithFloat:oldRad];
theAnimation.toValue = [NSNumber numberWithFloat:newRad];
theAnimation.duration = 0.5f;
[source.layer addAnimation:theAnimation forKey:@"animateMyRotation"];
// source.transform = CGAffineTransformMakeRotation(newRad)
// GMSMarker *source = [googleMap selectedMarker];
// source.rotation = newRad;
}
Обновить. У меня есть метод ротации, но есть ли способ повернуть GMSMarker, потому что нет способа преобразования.
Как uber поворачивает свой автомобиль на карте Google?