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