Controlli e gesti

Seleziona la piattaforma: Android iOS JavaScript

Con 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 UI integrati che simili a quelli presenti 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 viene visualizzata nella nell'angolo in alto a destra della mappa in determinate circostanze. La bussola viene visualizzata solo quando la videocamera è orientata in modo da avere un rilevamento diverso da zero. Quando l'utente fa clic sulla bussola, la fotocamera si anima di nuovo in una posizione con orientamento pari a zero (l'orientamento predefinito) e la bussola svanisce poco dopo.

La bussola è disattivata per impostazione predefinita. Puoi attivare la bussola impostando il Proprietà compassButton da GMSUISettings a YES. Tuttavia, non puoi forza 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 solo nell'angolo in basso a destra dello schermo quando il pulsante La mia posizione è abilitato. Quando un utente fa clic sul pulsante, la videocamera si anima per mettere a fuoco la posizione attuale dell'utente è attualmente noto. Puoi attivare il pulsante impostando il parametro Proprietà myLocationButton da GMSUISettings a YES.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Selettore piani

Il controllo selettore piano appare nella parte in basso a destra dello schermo ogni volta che viene la mappa degli interni sia messa in evidenza in evidenza. Quando due o più mappe di interni sono visibili, il selettore del piano è relativo all'edificio più vicino al centro dello schermo. Ciascuna l'edificio ha un piano predefinito che viene selezionato quando si utilizza il selettore visualizzati. Puoi scegliere un piano diverso selezionandolo dal selettore.

Puoi disattivare il controllo selettore del piano impostando la proprietà indoorPicker da GMSUISettings a NO.

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

Gesti della mappa

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

  • scrollGestures: consente di stabilire se attivare o meno i gesti di scorrimento disattivata. Se questa impostazione è attiva, gli utenti possono scorrere per eseguire la panoramica della fotocamera.
  • zoomGestures: consente di stabilire se attivare o meno i gesti di zoom o disabilitato. Se l'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 attivi possono eseguire una panoramica della fotocamera fino al punto specificato.
  • tiltGestures: consente di stabilire se attivare o meno i gesti di inclinazione disattivata. Se l'opzione è 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 meno i gesti di rotazione o disabilitato. Se l'opzione è attiva, gli utenti possono usare un gesto di rotazione con due dita per Ruota 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;
}