Con el SDK de Maps para iOS, puedes personalizar la forma en que los usuarios interactuar con tu mapa, ya que determina cuál de los componentes integrados de la IU en el mapa y qué gestos están permitidos.
Controles del mapa
El SDK de Maps para iOS proporciona algunos controles de la IU integrados que se
similares a los de la aplicación
de Google Maps para iOS. Puedes
activar o desactivar la visibilidad de estos controles con la clase GMSUISettings
Los cambios realizados en esta clase se reflejan de inmediato en el mapa.
Brújula
El SDK de Maps para iOS proporciona un gráfico de brújula que aparece en el esquina superior derecha del mapa en determinadas circunstancias. La brújula solo aparecerán cuando la cámara esté orientada de modo que su rumbo no equivalga a cero. Cuando el usuario hace clic en la brújula, la cámara adopta una posición en la que se indica el rumbo de cero (la orientación predeterminada) y la brújula se desvanece poco después.
La brújula viene desactivada de manera predeterminada. Puedes habilitar la brújula estableciendo el
Propiedad compassButton
de GMSUISettings
a YES
. Sin embargo, no puedes
forzar la aparición de la brújula en todo momento.
Swift
let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12) let mapView = GMSMapView(frame: .zero, camera: camera) mapView.settings.compassButton = true
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815 longitude:-122.50764 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; mapView.settings.compassButton = YES;
Botón Mi ubicación
El botón Mi ubicación aparece solamente en la esquina inferior derecha de la pantalla
cuando el botón Mi ubicación esté habilitado. Cuando un usuario hace clic en el botón,
la cámara se anima para enfocarse en la ubicación actual del usuario si esta se encuentra
se conoce actualmente. Para habilitar el botón, configura la
Propiedad myLocationButton
de GMSUISettings
a YES
.
Swift
mapView.settings.myLocationButton = true
Objective-C
mapView.settings.myLocationButton = YES;
Selector de pisos
El control selector de pisos aparece cerca de la esquina inferior derecha de la pantalla cada vez que mapa de interiores se destaca de forma destacada. Cuando dos o más mapas de interiores sean visibles, el el selector de pisos se relaciona con el edificio que está más cerca del centro de la pantalla. Cada El edificio tiene un piso predeterminado que se selecciona cuando se selecciona primero que se muestra. Puedes seleccionar un piso diferente eligiéndolo en el seleccionador.
Para inhabilitar el control del selector de pisos, configura la propiedad indoorPicker
.
de GMSUISettings
a NO
.
Swift
mapView.settings.indoorPicker = false
Objective-C
mapView.settings.indoorPicker = NO;
Gestos del mapa
Puedes deshabilitar los gestos predeterminados en el mapa configurando las propiedades de la clase GMSUISettings
, que se encuentra disponible como propiedad de GMSMapView
.
Los siguientes gestos pueden habilitarse y deshabilitarse de manera programática. Ten en cuenta que
Inhabilitar el gesto no limitará el acceso programático a la cámara
configuración.
scrollGestures
: Controla si los gestos de desplazamiento están habilitados o inhabilitado. Si se habilitan, los usuarios pueden deslizar el dedo para desplazar la cámara.zoomGestures
: Controla si se habilitan los gestos de zoom. o inhabilitado. Si se habilita esta opción, los usuarios pueden presionar dos veces, presionar con dos dedos o pellizcar para hacer zoom en la cámara. Ten en cuenta que presionar dos veces o pellizcar cuandoscrollGestures
pueden desplazar la cámara hasta el punto especificado.tiltGestures
: Controla si los gestos de inclinación están habilitados o inhabilitado. Si la opción está habilitada, los usuarios pueden deslizar dos dedos verticalmente hacia abajo o hacia arriba para inclinar la cámara.rotateGestures
: Controla si se habilitan los gestos de rotación. o inhabilitado. Si se habilita esta opción, los usuarios pueden utilizar un gesto de rotación con dos dedos para rotar la cámara.
En el ejemplo siguiente, se desactivan los gestos de desplazamiento y zoom.
Swift
override func loadView() { let camera = GMSCameraPosition.camera( withLatitude: 1.285, longitude: 103.848, zoom: 12 ) let mapView = GMSMapView.map(withFrame: .zero, camera: camera) mapView.settings.scrollGestures = false mapView.settings.zoomGestures = false self.view = mapView }
Objective-C
- (void)loadView { GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; mapView.settings.scrollGestures = NO; mapView.settings.zoomGestures = NO; self.view = mapView; }