https://issuetracker.google.com/u/1/issues/71738889

у вращать GMap, изменяя значение угла наклона подшипника, чтобы камера вращалась вокруг центральной точки (360 градусов на один полный раунд). Когда мы меняем направление, в начальных и конечных точках камеры возникает эффект ослабления. Как я могу контролировать / изменить это, чтобы сделать вращение плавным при измененииBearing значения (чтобы повернуть карту на 360 градусов, плавная анимация)?

Требуется это для всех языков, так как эффект ослабления в разных языковых библиотеках различен. например Swift, Android, PHP, JS, Node.js, React.

Пожалуйста, не голосуйте, не указав вескую причину (которая помогает нам учиться и знать). Мне не нравятся грубые критики и необразованное поведение придирчивого голосования.

Пример Swift (работает ОК в линейной анимации):

Обратите внимание, что изначально анимация имела рывки и в iOS, но когда мы использовалиCAMediaTimingFunction(name: kCAMediaTimingFunctionLinear вдоль егоCATransaction свойства, то анимация GMap превратилась в плавную анимацию. так что теперь, если вы видите код ниже, изменение вBearing значение не создает эффект рывка (из-за эффекта замедления в анимации GMap). Я ищу подходящее решение дляAndroid а такжеWeb также.

//Move the map around current location, first loop
let timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
CATransaction.begin()
CATransaction.setValue(3.0, forKey: kCATransactionAnimationDuration)
CATransaction.setAnimationTimingFunction(timingFunction)
CATransaction.setCompletionBlock({
    //Move the map around current location, second loop
    let timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
    CATransaction.begin()
    CATransaction.setValue(3.0, forKey: kCATransactionAnimationDuration)
    CATransaction.setAnimationTimingFunction(timingFunction)
    CATransaction.setCompletionBlock({
        //Move the map around current location, third loop
        let timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
        CATransaction.begin()
        CATransaction.setValue(3.0, forKey: kCATransactionAnimationDuration)
        CATransaction.setAnimationTimingFunction(timingFunction)
        CATransaction.setCompletionBlock({
            UIView.animate(withDuration: 0.5, animations: {
                self.findingYourLocation.alpha = 0.0
            })
            //TODO: Set nearest branch
            // Zoom in one zoom level
            let zoomCamera = GMSCameraUpdate.zoomIn()
            self.mapView.animate(with: zoomCamera)

            // Center the camera on UBL Branch when animation finished
            //let nearestBranch = CLLocationCoordinate2D(latitude: 24.850751, longitude: 67.016589)
            let nearestBranch = CLLocationCoordinate2D.init(latitude: 24.806849, longitude: 67.038734)
            let nearestBranchCam = GMSCameraUpdate.setTarget(nearestBranch)



            CATransaction.begin()

            let timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
            CATransaction.setValue(3.0, forKey: kCATransactionAnimationDuration)
            CATransaction.setAnimationTimingFunction(timingFunction)
            CATransaction.setCompletionBlock({
                self.nextButton.alpha = 1.0
            })
            self.mapView.animate(with: nearestBranchCam)
            self.mapView.animate(toZoom: 15)
            self.mapView.animate(toBearing: 0)
            self.mapView.animate(toViewingAngle: 0)

            CATransaction.commit()

        })
        self.mapView.animate(toBearing: self.mapView.camera.bearing + 120)
        CATransaction.commit()

    })
    self.mapView.animate(toBearing: self.mapView.camera.bearing + 120)
    CATransaction.commit()

})
self.mapView.animate(toBearing: self.mapView.camera.bearing + 120)
CATransaction.commit()

Пример кода Android (есть проблема):

Пример Android / пример кода можно найти здесь:https://issuetracker.google.com/issues/71738889

Который также включает в себя.apk файл,.mp4 видео примера приложения. Который явно показывает резкие эффекты, когдаBearing значение изменяется при повороте карты на 360 градусов.

Ответы на вопрос(1)

Ваш ответ на вопрос