2015-01-12 7 views
7

Po kliknięciu przycisku Moja lokalizacja w aplikacji Mapy Google na iOS kamera przesuwa się powoli do bieżącej lokalizacji z dowolnego miejsca, w którym aktualnie się znajdujesz.Jak zwolnić położenie animacji kamery w Google Maps na iOS?

następującej dokumentacji dla programistów Google za I wprowadziły podobny sposób, jak ten pokazany gdy użytkownik kliknie przycisk:

- (void) animateToCameraPosition: (GMSCameraPosition *) cameraPosition; 

ten jest podobny do mojego kodu:

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: lat 
                 longitude: long zoom: 17]; 

[googleMapView animateToCameraPosition:camera]; 

działa a kamera przesuwa się w dowolne miejsce na podstawie podanych współrzędnych. Jednak przesuwanie jest naprawdę szybkie, natychmiastowe.

Chcę, aby kamera powoli przesuwała się z dowolnego miejsca, w którym się znajduję, do określonej lokalizacji, co zostało zademonstrowane w serwisie Mapy Google.

Jak mogę to osiągnąć? Dzięki

Odpowiedz

13

Zasadniczo, musisz umieścić CATransaction wokół swojego kodu.

Zdefiniuje czas trwania animacji.

+0

doskonałego, dzięki! – Pangu

+0

@ztan robi to daje taki sam efekt powiększenia jak android? Nie mogę uzyskać tego samego efektu –

+0

@Anish 웃 spróbuj z animacją kCAMediaTimingFunctionEaseInEaseOut. 'CATransaction.setAnimationTimingFunction (CAMediaTimingFunction (name: kCAMediaTimingFunctionEaseInEaseOut))' –

7

dla szybkiej 3

CATransaction.begin() 
CATransaction.setValue(Int(YOUR_SPEED), forKey: kCATransactionAnimationDuration) 
// YOUR CODE IN HERE 
CATransaction.commit()