Controlli e gesti

Seleziona la piattaforma: Android iOS JavaScript

Utilizzando Maps SDK for iOS, puoi personalizzare il modo in cui gli utenti interagiscono con la mappa, determinando quali componenti integrati dell'interfaccia utente vengono visualizzati sulla mappa e quali gesti sono consentiti.

Controlli di mappa

Maps SDK for iOS fornisce alcuni controlli integrati dell'interfaccia utente simili a quelli dell'applicazione Google Maps per iOS. Puoi attivare/disattivare la visibilità di questi controlli utilizzando la classe GMSUISettings. Le modifiche apportate a questo corso vengono immediatamente riportate sulla mappa.

Bussola

Maps SDK for iOS fornisce un'immagine della bussola che viene visualizzata nell'angolo in alto a destra della mappa in determinate circostanze. La bussola viene visualizzata solo se la fotocamera è orientata in modo da avere un posizionamento diverso da zero. Quando l'utente fa clic sulla bussola, la fotocamera torna in una posizione con un rilevamento dello zero (l'orientamento predefinito) e la bussola scompare poco dopo.

La bussola è disattivata per impostazione predefinita. Puoi attivare la bussola impostando la proprietà compassButton di GMSUISettings su YES. Tuttavia, non puoi forzare la visualizzazione sempre della bussola.

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;
      

Pulsante La mia posizione

Il pulsante La mia posizione viene visualizzato nell'angolo in basso a destra dello schermo solo quando è attivo. Quando un utente fa clic sul pulsante, la videocamera si anima per mettere a fuoco la posizione attuale dell'utente, se questa è già nota. Puoi attivare il pulsante impostando la proprietà myLocationButton di GMSUISettings su YES.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Selettore di piani

Il controllo del selettore del piano viene visualizzato nella parte in basso a destra dello schermo ogni volta che una mappa di interni è in evidenza. Quando sono visibili due o più mappe di interni, il selettore del piano si riferisce all'edificio più vicino al centro dello schermo. Ogni edificio ha un piano predefinito che viene selezionato alla prima visualizzazione del selettore. Puoi scegliere un piano diverso selezionandolo dal selettore.

Puoi disattivare il controllo del selettore del piano impostando la proprietà indoorPicker di GMSUISettings su NO.

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

Gesti sulla mappa

Puoi disattivare i gesti predefiniti sulla mappa impostando le proprietà della classe GMSUISettings, disponibile come proprietà di GMSMapView. I gesti che seguono possono essere attivati e disattivati in modo programmatico. Tieni presente che la disattivazione del gesto non limiterà l'accesso programmatico alle impostazioni della fotocamera.

  • scrollGestures: consente di stabilire se attivare o disattivare i gesti di scorrimento. Se questa funzionalità è attiva, gli utenti possono scorrere per eseguire la panoramica della videocamera.
  • zoomGestures: consente di stabilire se attivare o disattivare i gesti di zoom. Se attivato, gli utenti possono toccare due volte, toccare con due dita o pizzicare per eseguire lo zoom della fotocamera. Tieni presente che toccare due volte o pizzicare quando la funzionalità scrollGestures è attiva può comportare la panoramica della videocamera fino al punto specificato.
  • tiltGestures: consente di stabilire se attivare o disattivare i gesti di inclinazione. Se questa funzionalità è attiva, gli utenti possono scorrere con due dita in verticale verso il basso o verso l'alto per inclinare la fotocamera.
  • rotateGestures: consente di stabilire se attivare o disattivare i gesti di rotazione. Se questa funzionalità è attiva, gli utenti possono ruotare con due dita per ruotare la fotocamera.

Nell'esempio che segue, i gesti di panoramica e zoom sono stati disattivati.

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