Street View w Mapach Google pozwala odkrywać miejsca na całym świecie, Zdjęcia 360 stopni z poziomu ulicy. Możesz poznawać zabytki z całego świata, podziwiać przyrodnicze wybrać się w wirtualny spacer, wybrać się w podróż lub pokazać firmę z zewnątrz.
Omówienie
Google Street View umożliwia oglądanie panoramicznych zdjęć w 360° z wyznaczonych dróg
na całym obszarze objętym zasięgiem. Zasięg dostępny przez pakiet SDK to
tak samo jak w aplikacji Mapy Google na iOS lub
https://maps.google.com/
. Więcej informacji znajdziesz
Street View i zobacz obsługiwane obszary na interaktywnej mapie,
Informacje o Street View
Pakiet Maps SDK na iOS udostępnia usługę Street View
do pobierania zdjęć używanych w Street View w Mapach Google i manipulowania nimi.
Zdjęcia Street View są zwracane jako panoramy i są
oglądane z poziomu przeglądarki Street View.
obiekt typu GMSPanoramaView
.
Panoramy Street View
Każda panorama Street View jest obrazem lub zestawem zdjęć przedstawiających pełen Widok 360° z jednego miejsca. Obrazy są dopasowane do kształtu walcowego równoodległościowego (Plate Carrée), które obejmuje widok w poziomie o zakresie 360 stopni ( pełne zawinięcie) i 180 stopni w widoku pionowym (od prosto w dół). Powstała w ten sposób panorama 360 stopni oznacza odwzorowanie. na kuli z obrazem nałożonym na tę dwuwymiarową powierzchnię. w sferze sferycznej.
Panoramy Street View można przeglądać przy użyciu obiektu GMSPanoramaView
. Ten
w widoku przeglądarki, która renderuje panoramę jako sferę,
na środku ekranu. Możesz automatycznie kontrolować orientację
kamery oraz kilku właściwości, które pozwalają dostosować przeglądarkę.
Dostęp do danych Street View
Panoramy Street View są rozpoznawane na podstawie dwóch metadanych:
panoramaID
- Unikalny identyfikator panoramy Street View. To urządzenie (
panoramaID
) mogą się z czasem zmienić i nie nadaje się do długoterminowego użytkowania ani nie jest zakodowane na stałe, odwołania.panoramaID
jest najlepszy do podania programowy dostęp do różnych zdjęć Street View. coordinate
- Dokładna lokalizacja tego obrazu, wyrażona jako
CLLocationCoordinate2D
Użyj operatoracoordinate
do: trwałego zapisu lokalizacji panoramy lub do tłumaczenia działań użytkownika na mapę na zdjęcie Street View.
Obiekty panoramaID
i coordinate
są przechowywane jako właściwości tagów
GMSPanorama
obiekt. Możesz poprosić o GMSPanorama
w
GMSPanoramaService
za pomocą: coordinate
lub panoramaID
.
wynikowy obiekt będzie zawierał zarówno fragmenty metadanych, jak i tablicę
do panoram w pobliżu.
Ustawianie lokalizacji panoramy
Lokalizację panoramy Street View można ustawić na podstawie koordynacja.
Metoda
moveNearCoordinate
wysyła żądanie panoramy w pobliżu koordynacja.Metoda
moveNearCoordinate:radius
jest podobna, ale pozwala w celu określenia promienia wyszukiwania w metrach wokół współrzędnych.Metoda
moveNearCoordinate:source
umożliwia podanie źródła. Źródło przydaje się, gdy chcesz ograniczyć widok Street View tylko do panoram, które znajdują się na zewnątrz. Domyślnie zdjęcia panoramiczne lokalizacji są wewnątrz czy na zewnątrz. Panoramy zewnętrzne mogą nie być dostępne w określoną lokalizację.Metoda
moveNearCoordinate:radius:source
umożliwia określenie zarówno promień i źródło.
Wyświetlanie zdjęć Street View
Dodawanie gogli Street View
Podstawowe czynności, które należy wykonać, aby dodać przeglądającego:
- (Raz) Wykonaj czynności opisane w artykule Pierwsze kroki, aby pobrać pakiet SDK. uzyskać klucz i dodać wymagane platformy.
- Utwórz lub zaktualizuj
ViewController
. Jeśli panorama będzie wyświetlana podczas ten kontroler widoku danych stanie się widoczny, pamiętaj, aby go utworzyć w metodęloadView
. - Utwórz i utwórz instancję klasy
GMSPanoramaView
za pomocą MetodaGMSPanoramaView
initWithFrame:
. Jeśli ma być używany jako tylko w widoku kontrolera, widokCGRectZero
może być używany jako ramkę, rozmiar mapy zmieni się automatycznie. - Ustaw obiekt
GMSPanoramaView
jako widok kontrolera widoku, np.self.view = panoView;
- Ustaw lokalizację zdjęcia Street View, używając na przykład metody
moveNearCoordinate:
Poniższy przykład pokazuje dodanie gogli Street View do aplikacji.
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
Dostosowywanie przeglądarki
Możesz dostosować przeglądarkę, ograniczając dostępne gesty. Według
domyślne, przesuwanie, powiększanie i podróże do sąsiednich panoram są włączone.
Poszczególnymi gestami można sterować za pomocą właściwości GMSPanoramaView
.
Te właściwości umożliwiają włączenie lub wyłączenie gestów kontrolowanych przez użytkownika. zautomatyzowany
i zmiany nadal są możliwe, nawet jeśli gest jest wyłączony.
orientationGestures
- Określa, czy użytkownik będzie mógł zmienić orientację kamery, klikając lub
przeciąganie. Ustaw na
NO
, aby wyłączyć zmianę orientacji ekranu aparat fotograficzny. zoomGestures
- Określa, czy użytkownik może ściągnąć palce, aby powiększyć obraz. Ustaw jako
NO
aby wyłączyć powiększenie. navigationGestures
- Czy użytkownik może zmienić widoczną panoramę. Użytkownicy
Można użyć jednego kliknięcia linków nawigacyjnych lub kliknąć dwukrotnie widok, aby go zmienić
panoramy Ustaw na
NO
, aby wyłączyć zmiany nawigacji.
Możesz włączyć lub wyłączyć wszystkie gesty jednocześnie za pomocą
Metoda setAllGesturesEnabled:
.
Swift
panoView.setAllGesturesEnabled(false)
Objective-C
[panoView setAllGesturesEnabled:NO];
Uruchamianie funkcji Street View z użyciem schematu URL
Zdjęcia Google Street View można oglądać w Mapach Google na iOS
aplikacji. Możesz uruchomić aplikację Mapy Google na iOS na ulicy
tryb wyświetlania ze schematem adresów URL comgooglemaps
przez ustawienie parametru mapmode
do streetview
. Przykład adresu URL, który spowoduje uruchomienie Street View
jest widoczny poniżej. Więcej informacji znajdziesz w schemacie adresów URL.
dokumentacji.
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Lokalizacje i punkty widzenia w Street View
GMSPanoramaCamera
umożliwia ustawienie punktu widzenia w Street View
za pomocą kombinacji kierunku, tonacji i powiększenia.
Poniższe zestawy fragmentów kodu spowodują ustawienie kamery na południe i nieco w dół.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
Orientacja
Lokalizacja w Street View określa, na którym
ale nie określa orientacji kamery.
W tym celu obiekt GMSOrientation
definiuje 2 właściwości:
heading
określa kąt obrotu wokół lokalizacji kamery w stopniach w stosunku do rzeczywistej północy. Nagłówki są mierzone w prawo: rzeczywista północ to 0, wschód to 90, południe to 180, a zachód to 270.pitch
(domyślnie0
) definiuje wariancję kąta „w górę” lub „w dół” z początkowa domyślna tonacja kamery, która jest często (ale nie zawsze) płaska w poziomie. (Na przykład zdjęcie zrobione na wzgórzu będzie prawdopodobnie przedstawiać domyślny kąt, który nie jest poziomy) Kąty kąta są mierzone za pomocą parametru wartości dodatnich w górę (do +90 stopni prosto w górę i ortogonalne do ton domyślny), a wartości ujemne (do -90 stopni) prosto w dół i ortogonalnie do domyślnego tonacji).
Zoom
Street View umożliwia uzyskanie różnych poziomów szczegółowości obrazu dzięki powiększeniu. Możesz ustawić poziom powiększenia automatycznie lub użytkownicy mogą zmienić go w lub ściągnąć palce, aby powiększyć.
Poruszanie aparatem
Gdy utworzysz GMSPanoramaView
i będzie on mieć skonfigurowany lub
domyślną kamerę, możesz ją zmienić na kilka sposobów. Po zmianie parametru
kamery, możesz animować powstały ruch kamery.
animacja jest interpolowana między bieżącymi atrybutami kamery a nowym
atrybutów aparatu.
Możesz zmodyfikować obiekt GMSPanoramaCamera
i ustawić go w
Właściwość camera
użytkownika GMSPanoramaView
. Spowoduje to przeniesienie kamery do nowego
i z perspektywy bez animacji. Aby skonfigurować, można utworzyć GMSCameraPosition
dowolną kombinację orientacji i powiększenia.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
Możesz animować przejście, wywołując metodę
Metoda animateToCamera:animationDuration:
dla GMSPanoramaView
.
Możesz też sterować kamerą za pomocą Core Animation. Zrobiono to
jest dostępna w niestandardowym formacie CALayer
na stronie GMSPanoramaView
,
GMSPanoramaLayer
Znaczniki w Street View
Obiekt GMSPanoramaView
może wyświetlać znaczniki mapy. Za pomocą
ten sam obiekt GMSMarker
w GMSMapView
lub
GMSPanoramaView
obiektu, ustawiając jego właściwości:
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;
Znaczniki będą skalowane jako funkcja odległości między
pozycji i lokalizacji elementu GMSCameraView
. Jeśli odległość przekroczy
świetny, znacznik będzie za mały i nie będzie można go wyświetlić
widok.
Ustaw właściwość panoramaView
na nil
, aby usunąć ją z
GMSPanoramaView
Swift
marker.panoramaView = nil
Objective-C
marker.panoramaView = nil;
Wydarzenia
Możesz nasłuchiwać zdarzeń występujących na panoramie Street View, takich jak
dotknij panoramy. Aby nasłuchiwać zdarzeń, musisz zaimplementować funkcję
Protokół GMSPanoramaViewDelegate
. Zobacz ogólne
przewodnik po zdarzeniach i listę metod w witrynie
GMSPanoramaViewDelegate
.