Commandes et gestes

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Sélectionnez une plate-forme: Android iOS JavaScript

Le SDK Maps pour iOS vous permet de personnaliser la manière dont les utilisateurs interagissent avec votre carte, en déterminant quels composants de l'interface utilisateur intégrés apparaissent sur la carte et quels gestes sont autorisés.

Commandes de carte.

Le SDK Maps pour iOS fournit des commandes d'interface utilisateur intégrées semblables à celles de l'application Google Maps pour iOS. Vous pouvez activer/désactiver la visibilité de ces commandes à l'aide de la classe GMSUISettings. Les modifications apportées à cette classe se reflètent immédiatement sur la carte.

Boussole

Le SDK Maps pour iOS fournit une image de boussole qui apparaît dans l'angle supérieur droit de la carte dans certains cas. La boussole apparaît uniquement lorsque la caméra est orientée de sorte que sa direction est différente de zéro. Lorsque l'utilisateur clique sur la boussole, la caméra s'anime pour revenir à zéro (orientation par défaut) et la boussole disparaît progressivement juste après.

La boussole est désactivée par défaut. Vous pouvez activer la boussole en définissant la propriété compassButton de GMSUISettings sur YES. Toutefois, vous ne pouvez pas forcer l'affichage permanent de la boussole.

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;
      

Bouton "Ma position"

Le bouton Ma position apparaît dans l'angle inférieur droit de l'écran uniquement lorsque le bouton Ma position est activé. Lorsqu'un utilisateur clique sur le bouton, l'appareil photo s'anime pour se concentrer sur la position actuelle de l'utilisateur, si celle-ci est connue. Vous pouvez activer le bouton en définissant la propriété myLocationButton de GMSUISettings sur YES.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Sélecteur d'étage

La commande de sélecteur d'étage s'affiche en bas à droite de l'écran chaque fois qu'une carte d'intérieur est mise en évidence. Lorsque plusieurs plans d'intérieur sont visibles, le sélecteur d'étage est associé au bâtiment le plus proche du centre de l'écran. Chaque bâtiment possède un étage par défaut qui est sélectionné lors de la première affichage du sélecteur. Vous pouvez choisir un autre étage en le sélectionnant via le sélecteur.

Vous pouvez désactiver la commande du sélecteur d'étage en définissant la propriété indoorPicker de GMSUISettings sur NO.

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

Gestes dans Google Maps

Vous pouvez désactiver les gestes par défaut sur la carte en définissant les propriétés de la classe GMSUISettings, disponible en tant que propriété de GMSMapView. Les gestes suivants peuvent être activés et désactivés par programmation. Notez que la désactivation du geste ne limite pas l'accès programmatique aux paramètres de la caméra.

  • scrollGestures : contrôle si les gestes de défilement sont activés ou désactivés. Si ces gestes sont activés, les utilisateurs peuvent balayer l'écran afin d'effectuer un panorama avec l'appareil photo.
  • zoomGestures : contrôle si les gestes de zoom sont activés ou désactivés. Si cette option est activée, les utilisateurs peuvent appuyer deux fois, appuyer avec deux doigts ou pincer pour zoomer. Notez que si vous appuyez deux fois ou pincez votre doigt lorsque l'option scrollGestures est activée, l'appareil photo risque de faire un panoramique sur le point spécifié.
  • tiltGestures : contrôle si les gestes d'inclinaison sont activés ou désactivés. Si cette option est activée, les utilisateurs peuvent balayer la caméra vers le bas ou vers le haut avec deux doigts pour incliner la caméra.
  • rotateGestures : contrôle si les gestes de rotation sont activés ou désactivés. Si cette option est activée, les utilisateurs peuvent effectuer une rotation de l'appareil photo avec deux doigts.

Dans l'exemple ci-dessous, les gestes de panorama et de zoom ont été désactivés.

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;
}