Avec le SDK Maps pour iOS, vous pouvez personnaliser la façon dont les utilisateurs interagissent avec votre carte en déterminant les composants d'interface utilisateur intégrés qui s'affichent sur la carte et les gestes autorisés.
Commandes de carte.
Le SDK Maps pour iOS fournit des commandes d'interface utilisateur intégrées qui sont similaires à celles de l'application Google Maps pour iOS. Vous pouvez activer et 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 boussole graphique qui s'affiche en haut à droite de la carte dans certaines circonstances. La boussole n'apparaît que lorsque la caméra est orientée de sorte que sa direction soit différente de zéro. Lorsque l'utilisateur clique sur la boussole, la caméra revient à une position avec un azimut de zéro (orientation par défaut), et la boussole disparaît peu de temps 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
. En revanche, 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" s'affiche en bas à droite de l'écran uniquement lorsqu'il est activé. Lorsqu'un utilisateur clique sur ce bouton, la caméra s'anime pour se concentrer sur sa position actuelle, 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 de sol
Le sélecteur d'étage apparaît en bas à droite de l'écran chaque fois qu'un plan d'intérieur est mis en avant. Lorsque deux ou plusieurs plans d'intérieur sont visibles, le sélecteur d'étage correspond 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é la première fois que le sélecteur s'affiche. Vous pouvez choisir un autre étage en le sélectionnant via le sélecteur.
Vous pouvez désactiver la commande de 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
, qui est 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 l'appareil photo.
scrollGestures
: détermine 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
: permet de contrôler si les gestes de zoom sont activés ou désactivés. Si cette fonctionnalité est activée, les utilisateurs peuvent effectuer un double appui, un appui à deux doigts ou un pincement pour faire un zoom avant ou arrière sur la caméra. Notez que si vous appuyez deux fois ou pincez l'écran lorsquescrollGestures
est activé, la caméra peut pivoter vers le point spécifié.tiltGestures
: permet de contrôler si les gestes d'inclinaison sont activés ou désactivés. Si cette fonctionnalité est activée, les utilisateurs peuvent balayer l'écran vers le bas ou vers le haut avec deux doigts pour incliner la caméra.rotateGestures
: indique si les gestes de rotation sont activés ou désactivés. Si cette fonctionnalité est activée, les utilisateurs peuvent faire pivoter la caméra à l'aide d'un geste de rotation à 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; }