ubicacion servicios segundo puedo plano lugares localización localizacion fotos desactivar como activar ios google-maps

servicios - no puedo activar localizacion iphone



Mapa de Google de iOS: cómo saber cuándo un usuario comienza o detiene el mapa de arrastre (4)

Estoy desarrollando con Google map SDK 6.1 . Quiero saber cuándo el usuario comienza a arrastrar o detener el mapa, acabo de encontrar 2 funciones de delegado: didChangeCameraPosition y idleAtCameraPosition . ¿Hay alguna forma de capturar cuando el usuario comienza o detiene el arrastre del mapa?


De la documentation :

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

Se llama cuando el mapa queda inactivo, después de que se hayan completado todos los gestos o animaciones sobresalientes (o después de que la cámara se haya establecido explícitamente).

Así que con este delegado puede capturar cuando el usuario dejó de arrastrar el mapView.

Para recibir una notificación cuando el usuario comenzó a arrastrar, solo use el otro delegado que ha señalado:

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

Llamado repetidamente durante cualquier animación o gesto en el mapa (o una vez, si la cámara está configurada explícitamente).

Esto no puede ser llamado para todas las posiciones de cámara intermedias Siempre se solicita la posición final de una animación o gesto.

No estoy seguro de lo que te confunde.


Para detectar si el usuario arrastró el mapa, creo que es mejor usar este método

- (void)mapView:(GMSMapView *)mapView willMove:(BOOL)gesture

y verifica si el argumento del gesture es true .

didChangeCameraPosition se mencionó, muchas veces se llama didChangeCameraPosition , pero como también se llama configurando el centro del mapa desde el código y como resultado de un gesto, realmente no se puede ver la diferencia solo en ese método.



Swift 4:

func mapView(_ mapView: GMSMapView, willMove gesture: Bool) { if (gesture){ print("dragged") } }