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