Street View di Google Maps ti consente di esplorare luoghi di tutto il mondo tramite Immagini a livello stradale a 360 gradi. Puoi esplorare punti di riferimento di tutto il mondo, visualizzare meraviglie, percorrere un viaggio o mostrare l'esterno della tua attività.
Panoramica
Google Street View offre viste panoramiche a 360° dalle strade designate.
in tutta l'area di copertura. La copertura disponibile tramite l'SDK è la
uguale a quello dell'app Google Maps per iOS oppure
https://maps.google.com/
Puoi scoprire di più
Street View e visualizza le aree supportate su una mappa interattiva all'indirizzo
Informazioni su Street View.
Maps SDK for iOS offre un servizio Street View
per ottenere e manipolare le immagini utilizzate in Street View di Google Maps.
Le immagini di Street View vengono restituite come panoramiche
dal visualizzatore di Street View: una
di tipo GMSPanoramaView
.
Panorami di Street View
Ogni panoramica in Street View è un'immagine, o una serie di immagini, che fornisce una Visualizzazione a 360 gradi da un'unica posizione. Le immagini si conformano all'equirettangolare (Plate Carrée), che contiene una vista orizzontale a 360 gradi (un tutto intorno) e una visuale verticale di 180° (dall'immagine dritta a verso il basso). La panoramica a 360° risultante definisce una proiezione su una sfera con l'immagine avvolta sulla superficie bidimensionale di quella sfera.
I panorami di Street View sono visualizzabili con l'oggetto GMSPanoramaView
. Questo
offre un'immagine che mostrerà la panoramica come una sfera, con un
al centro della fotocamera. Puoi controllare in modo programmatico l'orientamento
videocamera, nonché diverse proprietà
che personalizzano lo spettatore.
Accesso ai dati di Street View
Le panoramiche in Street View sono identificate da due metadati:
panoramaID
- L'ID univoco di una panoramica di Street View. Questo
panoramaID
può cambiare nel tempo e non è adatto per un utilizzo a lungo termine o codificato, riferimento.panoramaID
è il metodo migliore per fornire accesso programmatico a immagini di Street View diverse. coordinate
- La posizione esatta di questa immagine, espressa come
CLLocationCoordinate2D
. Usa uncoordinate
per l'archiviazione permanente della posizione di una panoramica o la traduzione delle azioni dell'utente la mappa in un'immagine di Street View.
Sia panoramaID
che coordinate
vengono memorizzati come proprietà
GMSPanorama
oggetto. Puoi richiedere un GMSPanorama
al
GMSPanoramaService
utilizzando coordinate
o panoramaID
. La
l'oggetto risultante includerà entrambi i metadati, nonché un array di
link a panoramiche vicine.
Impostazione della posizione del panorama
La posizione di una panoramica in Street View può essere impostata in base a: coordinata.
Il metodo
moveNearCoordinate
richiede una panoramica vicino a coordinata.Il metodo
moveNearCoordinate:radius
è simile, ma consente puoi specificare un raggio di ricerca, in metri, intorno alla coordinata.Il metodo
moveNearCoordinate:source
consente di specificare un'origine. Una sorgente è utile se vuoi limitare Street View alla ricerca di panoramiche esterne. Per impostazione predefinita, i panorami di luoghi sono: all'interno o all'esterno. Tieni presente che le panoramiche di esterni potrebbero non esistere per località specificata.Il metodo
moveNearCoordinate:radius:source
ti consente di specificare sia un raggio e una sorgente.
Visualizzazione delle immagini di Street View
Aggiungere un visualizzatore di Street View
I passaggi di base per l'aggiunta di un visualizzatore sono:
- (Una volta) Segui i passaggi nella Guida introduttiva per scaricare l'SDK. ottenere una chiave e aggiungere i framework richiesti.
- Crea o aggiorna un
ViewController
. Se la panoramica viene visualizzata durante questo controller della vista diventa visibile, assicurati di crearlo all'interno il metodoloadView
. - Crea e crea un'istanza per un corso
GMSPanoramaView
utilizzando il metodoGMSPanoramaView
metodoinitWithFrame:
. Se deve essere utilizzato come dell'unica vista del controller, alloraCGRectZero
potrebbe essere utilizzato come frame: la mappa verrà ridimensionata automaticamente. - Imposta l'oggetto
GMSPanoramaView
come vista del controller di visualizzazione, ad es.self.view = panoView;
. - Imposta la posizione dell'immagine di Street View con un metodo come
moveNearCoordinate:
.
L'esempio riportato di seguito consente di aggiungere un visualizzatore di Street View a un'app.
Swift
import GoogleMaps class StreetView: UIViewController { override func loadView() { let panoView = GMSPanoramaView(frame: .zero) self.view = panoView panoView.moveNearCoordinate(CLLocationCoordinate2D(latitude: -33.732, longitude: 150.312)) } }
Objective-C
#import "StreetView.h" @import GoogleMaps; @interface StreetView () @end @implementation StreetView - (void)loadView { GMSPanoramaView *panoView = [[GMSPanoramaView alloc] initWithFrame:CGRectZero]; self.view = panoView; [panoView moveNearCoordinate:CLLocationCoordinate2DMake(-33.732, 150.312)]; } @end
Personalizzazione del visualizzatore
Puoi personalizzare il visualizzatore limitando i gesti disponibili. Di
per impostazione predefinita, sono tutte abilitate le funzioni panoramica, zoom e spostamento verso panoramiche adiacenti.
I singoli gesti vengono controllati tramite le proprietà di GMSPanoramaView
.
Queste proprietà attivano o disattivano i gesti controllati dall'utente. pubblicità programmatica
sono comunque possibili anche quando il gesto è disattivato.
orientationGestures
- Indica se l'utente sarà in grado di riorientare la fotocamera toccando o
trascinamento. Impostalo su
NO
per disattivare le modifiche dell'orientamento della fotocamera. zoomGestures
- Indica se l'utente può pizzicare per eseguire lo zoom. Impostato su
NO
per disattivare lo zoom. navigationGestures
- Se l'utente può modificare la panoramica visibile. Utenti
puoi usare un solo tocco sui link di navigazione o toccare due volte la visualizzazione per cambiare
panorami Impostati su
NO
per disattivare le modifiche alla navigazione.
Puoi attivare o disattivare tutti i gesti contemporaneamente con l'icona
setAllGesturesEnabled:
.
Swift
panoView.setAllGesturesEnabled(false)
Objective-C
[panoView setAllGesturesEnabled:NO];
Avvio di Street View con lo schema URL
Le immagini di Google Street View sono visualizzabili da Google Maps per iOS
un'applicazione. Puoi avviare l'applicazione Google Maps per iOS in strada
modalità di visualizzazione con lo schema URL comgooglemaps
impostando la mapmode
su streetview
. Esempio di URL che aprirà Street View
è riportata di seguito. Per saperne di più, consulta lo schema URL
documentazione.
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Luoghi di Street View e punto di vista (POV)
L'icona GMSPanoramaCamera
ti consente di impostare il punto di vista di Street View
come una combinazione di intestazione, beccheggio e zoom.
I gruppi di snippet riportati di seguito orientano la videocamera verso sud e leggermente verso il basso.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
Orientamento
La posizione di Street View definisce la posizione della messa a fuoco della fotocamera per un
immagine, ma non definisce l'orientamento della fotocamera per quell'immagine.
A questo scopo, l'oggetto GMSOrientation
definisce due proprietà:
heading
definisce l'angolo di rotazione intorno al locus della videocamera in gradi rispetto al nord vero. Le intestazioni vengono misurate in senso orario: il nord vero è 0, l'est è 90, il sud è 180, l'ovest è 270.pitch
(il valore predefinito0
) definisce la varianza dell'angolo "verso l'alto" o "giù" dal l'intonazione iniziale predefinita della videocamera, che spesso (ma non sempre) è piatta orizzontale. Ad esempio, un'immagine scattata su una collina probabilmente mostrerà un tono predefinito non orizzontale). Gli angoli di inclinazione vengono misurati con valori positivi rivolti verso l'alto (fino a +90 gradi in verticale e ortogonali a l'inclinazione predefinita) e i valori negativi rivolti verso il basso (fino a -90 gradi) dritta verso il basso e ortogonale all'inclinazione predefinita).
Zoom
Street View supporta diversi livelli di dettaglio dell'immagine attraverso l'uso dello zoom. Puoi impostare il livello di zoom in modo programmatico oppure gli utenti possono modificarlo in nel visualizzatore pizzicando lo schermo per aumentare lo zoom.
Spostamento della videocamera
Dopo aver creato GMSPanoramaView
e aver configurato un
videocamera predefinita, puoi modificarla in diversi modi. Quando modifichi
videocamera, hai la possibilità di animare il movimento risultante della videocamera. La
l'animazione si interpola tra gli attributi correnti della videocamera e i nuovi
degli attributi fotocamera.
Puoi modificare l'oggetto GMSPanoramaCamera
e impostarlo nella
Proprietà camera
di GMSPanoramaView
. La videocamera verrà agganciata al nuovo
punto di vista senza animazione. È possibile creare un GMSCameraPosition
per configurare
qualsiasi combinazione di orientamento e zoom.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
Puoi animare una transizione richiamando il metodo
Metodo animateToCamera:animationDuration:
di GMSPanoramaView
.
Inoltre, puoi controllare la videocamera tramite Core Animation. Questa operazione viene eseguita
disponibile tramite il CALayer
personalizzato su GMSPanoramaView
,
GMSPanoramaLayer
.
Indicatori in Street View
L'oggetto GMSPanoramaView
è in grado di visualizzare gli indicatori sulla mappa. Puoi utilizzare lo
lo stesso oggetto GMSMarker
in un GMSMapView
o in un
GMSPanoramaView
impostando le proprietà corrispondenti:
Swift
// Create a marker at the Eiffel Tower let position = CLLocationCoordinate2D(latitude: 48.858, longitude: 2.294) let marker = GMSMarker(position: position) // Add the marker to a GMSPanoramaView object named panoView marker.panoramaView = panoView // Add the marker to a GMSMapView object named mapView marker.map = mapView
Objective-C
// Create a marker at the Eiffel Tower CLLocationCoordinate2D position = CLLocationCoordinate2DMake(48.858,2.294); GMSMarker *marker = [GMSMarker markerWithPosition:position]; // Add the marker to a GMSPanoramaView object named panoView marker.panoramaView = panoView; // Add the marker to a GMSMapView object named mapView marker.map = mapView;
Le dimensioni degli indicatori vengono ridimensionate in funzione della distanza tra i
e la posizione del GMSCameraView
. Se questa distanza diventa troppo
ottimo, l'indicatore diventerà troppo piccolo per essere visualizzato e verrà nascosto
vista.
Imposta la proprietà panoramaView
su nil
per rimuoverla dal
GMSPanoramaView
.
Swift
marker.panoramaView = nil
Objective-C
marker.panoramaView = nil;
Eventi
Puoi ascoltare gli eventi che si verificano nella panoramica di Street View, ad esempio quando un
l'utente tocca il panorama. Per rimanere in ascolto degli eventi, devi implementare il metodo
GMSPanoramaViewDelegate
. Vedi la panoramica
guida agli eventi e l'elenco dei metodi disponibili sul
GMSPanoramaViewDelegate