2013-04-11 11 views
5

w Apple mapuje istnieje metoda delegatJaka jest metoda delegata dla map Google dla Ios, aby zakończyć przewijanie?

-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated 

i jest zwolniony, gdy kończę przewijania lub panoramowanie mapę, ale nie mogłem znaleźć takiego sposobu google map. Istnieje metoda

- (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position 

ale metoda ta utrzymuje się na wypalanie podczas gdy mapa jest ciągle przewijać i nie chcę tego. Muszę zmienić właściwość tylko po zakończeniu przewijania.

Odpowiedz

11

najnowszej wersji release SDK 1.4.0 - lipiec 2013 wprowadził nową metodę delegata

- (void)mapView:(GMSMapView *)mapView idleAtCameraPosition:(GMSCameraPosition *)position 

który zostanie uruchomiony pod koniec każdego ruchu kamery lub przewijanie działania

1

Jest prośba cecha dodać coś takiego:

https://code.google.com/p/gmaps-api-issues/issues/detail?id=4722

W międzyczasie można było być może obejść za pomocą zwykłego timera, który sprawdza, czy pozycja mapa zmieniła się od ostatniego połączenia do zegara. Jeśli nie, użytkownik przestał przenosić mapę, dzięki czemu możesz zaktualizować swoją nieruchomość.

0

Strzeż idleAtCameraPosition kiedy mapa przestaje się poruszać nie po podniesieniu palca.

I od Google SDK iOS 1.7 Zauważyłem, że zostanie wyzwolony wcześnie, nawet jeśli nadal masz palec na mapie.

Więc jeśli używasz go do przerysowywania nakładek/znaczników, może się to zdarzyć zbyt wcześnie i spowodować zacinanie się.

Musiałem podklasować GSMapView i dodać PanGestureRecognizer >> Stan ZAKOŃCZONY, aby uzyskać po podniesieniu palca.

zobacz

Powiązane problemy