Street View

Plattform auswählen: Android iOS JavaScript

Mit Google Maps Street View können Sie Orte auf der ganzen Welt 360-Grad-Straßenansichten Sie können Sehenswürdigkeiten auf der ganzen Welt erkunden, eine Reise zu planen oder Ihr Unternehmen von außen zu präsentieren.

Übersicht

Google Street View stellt 360°-Panoramen von verschiedenen Straßen des gesamten Street View-Abdeckungsbereichs zur Verfügung. Die über das SDK verfügbare Abdeckung ist die wie bei der Google Maps App für iOS oder https://maps.google.com/ Weitere Informationen Street View und sehen Sie sich die unterstützten Gebiete auf einer interaktiven Karte an. Über Street View

Das Maps SDK for iOS bietet einen Street View-Dienst zum Abrufen und Bearbeiten von Bildern aus Google Maps Street View. Street View-Bilder werden als Panoramen zurückgegeben und sind mit der Street View-Ansicht Objekt vom Typ GMSPanoramaView.

Street View-Panoramen

Jedes Street View-Panorama besteht aus einem oder mehreren Bildern, die von einem gemeinsamen Punkt aus aufgenommen wurden und eine 360-Grad-Ansicht eines einzelnen Orts ergeben. Bilder entsprechen dem Rektangular (Plattkarte) mit einer horizontalen 360-Grad-Ansicht (ein vollständige Rundumsicht) und 180-Grad-Vertikalsicht (von senkrecht bis gerade nach unten). Das resultierende 360-Grad-Panorama definiert eine Projektion. auf einer Kugel, deren Bild auf die zweidimensionale Fläche dieser Kugel.

Street View-Panoramen können mit dem GMSPanoramaView-Objekt angesehen werden. Dieses stellt einen Viewer bereit, der das Panorama als Kugel mit einem Kamera in der Mitte. Sie können die Ausrichtung der Kamera sowie verschiedene Eigenschaften, die den Viewer anpassen.

Auf Street View-Daten zugreifen

Street View-Panoramen werden durch eines von zwei Metadatenelementen bestimmt:

panoramaID
Die eindeutige ID eines Street View-Panoramas. Dieses panoramaID kann sich im Laufe der Zeit ändern und ist nicht als langfristige oder hartcodierte Referenz. Der panoramaID eignet sich am besten, um programmatischen Zugriff auf verschiedene Street View-Bilder.
coordinate
Der genaue Standort des Bildes, ausgedrückt als CLLocationCoordinate2D. coordinate verwenden für dauerhafte Speicherung eines Panoramastandorts oder zum Übersetzen von Nutzeraktionen auf in ein Street View-Bild umwandeln.

Sowohl panoramaID als auch coordinate werden als Attribute der GMSPanorama-Objekt. Du kannst eine GMSPanorama aus dem GMSPanoramaService mithilfe von coordinate oder panoramaID. Die Das Ergebnis-Objekt enthält beide Metadatenelemente sowie ein Array von Links zu Panoramen in der Nähe.

Standort des Panoramas festlegen

Der Standort des Street View-Panoramas kann basierend auf dem -Koordinate.

  • Die Methode moveNearCoordinate fordert ein Panorama in der Nähe des -Koordinate.

  • Die Methode moveNearCoordinate:radius ist ähnlich, ermöglicht aber können Sie einen Suchradius in Metern um die Koordinate festlegen.

  • Mit der Methode moveNearCoordinate:source können Sie eine Quelle angeben. Eine Quelle ist nützlich, wenn Sie Street View so einschränken möchten, dass nur nach die sich draußen befinden. Standardmäßig sind Panoramen von Standorten entweder drinnen oder draußen. Beachten Sie, dass für den angegebenen Ort.

  • Mit der Methode moveNearCoordinate:radius:source können Sie sowohl ein Radius und eine Quelle.

Street View-Bilder ansehen

Street View-Viewer hinzufügen

Um ein Anzeigeprogramm hinzuzufügen, sind folgende grundlegende Schritte auszuführen:

  1. (einmalig) Folgen Sie der Anleitung unter Erste Schritte, um das SDK herunterzuladen. erhalten Sie einen Schlüssel und fügen die erforderlichen Frameworks hinzu.
  2. ViewController erstellen oder aktualisieren. Wenn das Panorama angezeigt wird, wird dieser Ansichts-Controller sichtbar. Erstellen Sie ihn die Methode loadView.
  3. Erstellen und instanziieren Sie eine GMSPanoramaView-Klasse mithilfe der GMSPanoramaView initWithFrame:-Methode. Wenn dies als Ereignis verwendet werden soll, die einzige Ansicht des Ansicht-Controllers ist, dann kann CGRectZero als Frame : Die Größe der Karte wird automatisch angepasst.
  4. Legen Sie das GMSPanoramaView-Objekt als Ansicht des Ansichts-Controllers fest, z.B. self.view = panoView;.
  5. Legen Sie den Standort des Street View-Bilds mithilfe einer Methode wie moveNearCoordinate:

Im folgenden Beispiel wird ein Street View-Anzeigeprogramm zu einer App hinzugefügt.

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
      

Viewer anpassen

Sie können das Anzeigeprogramm anpassen, indem Sie die verfügbaren Gesten einschränken. Von Schwenken, Zoomen und Wechseln zu benachbarten Panoramen sind standardmäßig aktiviert. Einzelne Touch-Gesten werden über die Eigenschaften von GMSPanoramaView gesteuert. Mit diesen Eigenschaften können Sie benutzergesteuerte Touch-Gesten aktivieren oder deaktivieren: programmatisch Änderungen sind auch dann noch möglich, wenn die Touch-Geste deaktiviert ist.

orientationGestures
Kann der Nutzer die Kamera durch Tippen oder durch Ziehen verschieben. Auf NO setzen, um Änderungen der Ausrichtung des Kamera.
zoomGestures
Gibt an, ob der Nutzer durch Auseinander- und Zusammenziehen der Finger zoomen kann. Auf NO festlegen um das Zoomen zu deaktivieren.
navigationGestures
Gibt an, ob der Nutzer ändern kann, welches Panorama sichtbar ist. Nutzer*innen kann durch einmaliges Tippen auf Navigationslinks oder durch Doppeltippen auf die Ansicht die Ansicht ändern Panoramaeinstellungen: Legen Sie NO fest, um Navigationsänderungen zu deaktivieren.

Du kannst alle Touch-Gesten gleichzeitig aktivieren oder deaktivieren: setAllGesturesEnabled:-Methode.

Swift

panoView.setAllGesturesEnabled(false)
      

Objective-C

[panoView setAllGesturesEnabled:NO];
      

Street View mit dem URL-Schema starten

Google Street View-Bilder können in Google Maps für iOS angesehen werden. . Sie können die Google Maps für iOS-App auf der Ansichtsmodus mit dem URL-Schema comgooglemaps durch Festlegen der mapmode auf streetview setzen. Beispiel für eine URL zum Starten von Street View erscheint unten. Weitere Informationen finden Sie unter URL-Schema. Dokumentation.

comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

Street View-Standorte und -Perspektive

Mit GMSPanoramaCamera kannst du den Blickwinkel von Street View festlegen Kameraposition eine Kombination aus Ausrichtung, Neigung und Zoom.

In den folgenden Codeausschnitten wird die Kamera nach Süden ausgerichtet und leicht nach unten geneigt.

Swift

panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
      

Objective-C

panoView.camera = [GMSPanoramaCamera cameraWithHeading:180
                                                 pitch:-10
                                                  zoom:1];
      

Ausrichtung

Die Street View-Position definiert die Position des Kamerafokus für einen Bilds. Sie definiert jedoch nicht die Ausrichtung der Kamera für dieses Bild. Die Ausrichtung wird über zwei Eigenschaften des GMSOrientation-Objekts definiert:

  • heading definiert die Himmelsrichtung der Kamera in Grad relativ zum geografischen Norden. Aufnahmerichtungen werden im Uhrzeigersinn gemessen: Der geografische Norden ist 0, der Osten 90, der Süden 180 und der Westen 270.
  • pitch (Standard 0) definiert die Winkelvarianz „nach oben“ oder „nach unten“ aus der Standardneigung der Kamera, die häufig (aber nicht immer) flach ist horizontal. (Beispiel: Ein auf einem Hügel aufgenommenes Bild hat wahrscheinlich Standardneigung, die nicht horizontal ist.) Neigungswinkel werden mit positiven Werte nach oben (bis +90 Grad senkrecht nach oben und im rechten Standardneigung) und negative Werte nach unten (bis -90 Grad) gerade nach unten und im rechten Winkel zur Standardneigung).

Zoom

Street View unterstützt verschiedene Bilddetailebenen mithilfe der Vergrößerung. Sie können die Zoomstufe programmatisch festlegen oder Nutzer können sie in den Zoomen durch Auseinander- und Zusammenziehen der Finger.

Kamera bewegen

Sobald Sie die GMSPanoramaView erstellt haben und diese entweder eine konfigurierte oder Standardkamera ändern möchten, haben Sie mehrere Möglichkeiten. Wenn Sie die Einstellung Kamerabewegung können Sie die resultierende Kamerabewegung animiert darstellen. Die zwischen den aktuellen und dem neuen Kameraattributen interpoliert. Kameraattributen angezeigt werden.

Sie können das GMSPanoramaCamera-Objekt ändern und auf der Die camera-Property von GMSPanoramaView. Dadurch wird die Kamera auf das neue ohne Animation. Ein GMSCameraPosition kann zum Konfigurieren erstellt werden. Ausrichtung und Zoom anpassen.

Swift

panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
      

Objective-C

panoView.camera = [GMSPanoramaCamera cameraWithHeading:180
                                                 pitch:-10
                                                  zoom:1];
      

Sie können einen Übergang animieren, indem Sie die Methode Methode animateToCamera:animationDuration: von GMSPanoramaView. Zusätzlich können Sie die Kamera mit Core Animation steuern. Dies ist eine verfügbar über die benutzerdefinierte CALayer auf GMSPanoramaView, GMSPanoramaLayer

Markierungen in Street View

Mit dem GMSPanoramaView-Objekt können Kartenmarkierungen angezeigt werden. Sie können die dasselbe GMSMarker-Objekt auf einem GMSMapView- oder einem GMSPanoramaView-Objekts durch Festlegen der entsprechenden Eigenschaften:

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;
      

Die Größe von Markierungen hängt von der Entfernung zwischen den und die Position von GMSCameraView. Wenn diese Entfernung zunimmt sehr gut, wird die Markierung zu klein zum Anzeigen und wird in den Ansicht.

Legen Sie das Attribut panoramaView auf nil fest, um es aus der GMSPanoramaView

Swift

marker.panoramaView = nil
      

Objective-C

marker.panoramaView = nil;
      

Ereignisse

Sie können auf Ereignisse im Street View-Panorama warten, z. B. wenn ein der Nutzer auf das Panorama tippt. Um auf Ereignisse zu warten, müssen Sie den GMSPanoramaViewDelegate-Protokoll. Gesamtergebnis ansehen einen Leitfaden zu Ereignissen und die Liste der Methoden in der GMSPanoramaViewDelegate