Controlli e gesti

Seleziona la piattaforma: Android iOS JavaScript

Con Maps SDK per iOS, puoi personalizzare il modo in cui gli utenti interagiscono con la mappa, stabilendo quali componenti dell'interfaccia utente integrati 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 disponibili nell'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 bussola, che in determinate circostanze viene visualizzata nell'angolo in alto a destra della mappa. La bussola compare solo se la fotocamera è orientata in modo da avere un orientamento diverso da zero. Quando l'utente fa clic sulla bussola, la fotocamera ritorna in una posizione con rilevamento dello zero (l'orientamento predefinito) e la bussola scompare poco dopo.

La bussola è disattivata per impostazione predefinita. Per attivare la bussola, imposta la proprietà compassButton di GMSUISettings su YES. Tuttavia, non puoi forzare la visualizzazione 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 è attivato. Quando un utente fa clic sul pulsante, la videocamera si anima per mettere a fuoco la posizione corrente dell'utente, se questa è attualmente nota. Per attivare il pulsante, imposta la proprietà myLocationButton di GMSUISettings su YES.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Selettore piani

Il controllo selettore dei piani compare nella parte in basso a destra dello schermo ogni volta che viene mostrata in evidenza una mappa di interni. Quando sono visibili due o più mappe di interni, il selettore dei piani fa riferimento all'edificio più vicino al centro dello schermo. Ogni edificio ha un piano predefinito che viene selezionato quando viene visualizzato per la prima volta il selettore. Puoi scegliere un piano diverso selezionandolo dal selettore.

Puoi disattivare il controllo 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 seguenti gesti 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 impostazione è attiva, gli utenti possono scorrere per eseguire la panoramica della fotocamera.
  • zoomGestures: consente di stabilire se attivare o disattivare i gesti di zoom. Se questa opzione è attiva, 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 scrollGestures è attivo può eseguire una panoramica della fotocamera nel punto specificato.
  • tiltGestures: consente di attivare o disattivare i gesti di inclinazione. Se questa impostazione è attiva, gli utenti possono scorrere verso il basso o verso l'alto con due dita per inclinare la fotocamera.
  • rotateGestures: consente di stabilire se attivare o disattivare i gesti di rotazione. Se questa opzione è attiva, gli utenti possono usare un gesto di rotazione con due dita per ruotare la fotocamera.

Nell'esempio seguente, entrambi 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;
}