Maybaygiare.org

Blog Network

Street View

Google Maps Street View pozwala odkrywać miejsca na całym świecie dzięki 360-stopniowym obrazom na poziomie ulicy. Możesz odkrywać zabytki świata, przeglądać naturalne cuda, nawigować w podróży lub pokazywać na zewnątrz swojej firmy.

przegląd

Google Street View zapewnia panoramiczne widoki 360 stopni z wyznaczonych dróg na całym obszarze zasięgu. Zasięg dostępny za pośrednictwem zestawu SDK jest taki sam jak dla aplikacji Google Maps dla iOS lub https://maps.google.com/. Możesz przeczytać więcej o Street View i zobaczyć Obsługiwane obszary na interaktywnej mapie O Street View.

Maps SDK dla iOS zapewnia usługę Street View do uzyskiwania i przetwarzania obrazów używanych w Google Maps Street View. Obrazy Street View są zwracane jako panoramy i są oglądane z poziomu przeglądarki Street View-obiektu typu GMSPanoramaView.

panoramy Street View

każda Panorama Street View to obraz lub zestaw obrazów, który zapewnia pełny widok 360 stopni z jednej lokalizacji. Obrazy są zgodne z projekcją równo-kanciastą(Plate Carrée), która zawiera 360 stopni widzenia poziomego (pełne zawijanie) i 180 stopni widzenia pionowego (od góry do góry). Otrzymana panorama 360 stopni definiuje rzut na sferę z obrazem zawiniętym w dwuwymiarową powierzchnię tej sfery.

panoramy Street View można oglądać za pomocą obiektuGMSPanoramaView. Obiekt ten udostępnia przeglądarkę, która renderuje panoramę jako sferę, z kamerą pośrodku. Możesz programowo kontrolować orientację kamery, a także kilka właściwości dostosowujących przeglądarkę.

dostęp do danych Street View

panoramy Street View są identyfikowane za pomocą jednego z dwóch elementów metadanych:

panoramaIDunikalny identyfikator panoramy Street View. TopanoramaIDmoże się zmieniać w czasie i nie jest odpowiednie jako długoterminowe lub zakodowane na stałe odniesienie.panoramaIDjest najlepiej używany do zapewnienia programowego dostępu do różnych obrazów Street View.coordinatedokładne położenie tego obrazu, wyrażone jakoCLLocationCoordinate2D. Użyjcoordinatedo trwałego przechowywania lokalizacji panoramy lub do tłumaczenia działań użytkownika na mapie na obraz Street View.

zarównopanoramaID, jak icoordinatesą przechowywane jako właściwości obiektuGMSPanorama. Możesz zażądać GMSPanorama zGMSPanoramaService używając coordinate lub panoramaID. Obiekt będzie zawierał zarówno fragmenty metadanych, jak i tablicę linków do pobliskich panoram.

ustawienie lokalizacji panoramy

położenie panoramy Street View można ustawić na podstawie współrzędnych.

  • moveNearCoordinate

  • metoda moveNearCoordinate:radius jest podobna, ale pozwala określić promień wyszukiwania, w metrach, wokół współrzędnych.

  • metoda moveNearCoordinate:source pozwala na podanie źródła.Źródło jest przydatne, jeśli chcesz ograniczyć Widok ulicy, aby szukać tylko panoram, które są na zewnątrz. Domyślnie panoramy lokalizacji są wewnętrzne lub zewnętrzne. Należy pamiętać, że panoramy zewnętrzne mogą nie istnieć dla określonej lokalizacji.

  • metoda moveNearCoordinate:radius:source pozwala na podanie zarówno aradiusza, jak i źródła.

wyświetlanie obrazów Street View

dodawanie przeglądarki Street View

podstawowe kroki dodawania przeglądarki to:

  1. (raz) wykonaj kroki opisane w części Pierwsze kroki,aby uzyskać SDK, uzyskać klucz i dodać wymagane ramy.
  2. Utwórz lub zaktualizujViewController. Jeśli panorama zostanie wyświetlona, gdy ten kontroler widoku stanie się widoczny, należy ją utworzyć za pomocą metody loadView.
  3. Tworzenie i tworzenie instancji klasy GMSPanoramaView przy użyciu metodyGMSPanoramaViewinitWithFrame:. Jeśli ma być używany jako jedyny widok kontrolera, wtedy CGRectZero może być użyty jako ramka mapy — mapa zostanie automatycznie zmieniona.
  4. ustawia obiektGMSPanoramaView jako widok kontrolera widoku, np.self.view = panoView;.
  5. Ustaw lokalizację obrazu Street View za pomocą metody takiej jak moveNearCoordinate:.

poniższy przykład dodaje przeglądarkę Street View do aplikacji.

Swift

import GoogleMapsclass 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 = initWithFrame:CGRectZero]; self.view = panoView; ;}@end 

dostosowywanie przeglądarki

możesz dostosować przeglądarkę, ograniczając dostępne gesty. Bydefault, przesuwanie, powiększanie i podróżowanie do sąsiednich panoram są włączone.Poszczególne gesty są kontrolowane przez właściwości GMSPanoramaView.Te właściwości włączają lub wyłączają gesty sterowane przez użytkownika; zmiany programowe są nadal możliwe, gdy gest jest wyłączony.

orientationGesturesczy użytkownik będzie mógł ponownie zorientować kamerę, dotykając lub przeciągając. Ustaw naNO, aby wyłączyć zmiany orientacji kamery.zoomGesturesczy użytkownik będzie mógł uszczypnąć, aby powiększyć. Ustaw naNO, aby wyłączyć zoom.

navigationGesturesczy użytkownik będzie mógł zmienić widoczną panoramę. Użytkownicy mogą użyć pojedynczego dotknięcia łączy nawigacyjnych lub dwukrotnego dotknięcia widoku, aby zmienić panoramy ustawione naNO, aby wyłączyć zmiany nawigacji.

możesz włączyć lub wyłączyć wszystkie gesty naraz za pomocąsetAllGesturesEnabled: metoda.

Swift

panoView.setAllGesturesEnabled(false) 

Objective-C

; 

uruchamianie Street View ze schematem URL

obrazy Google Street View są wyświetlane z poziomu Map Google dla aplikacji iOS. Możesz uruchomić aplikację Google Maps dla iOS w trybie streetview za pomocą comgooglemaps schematu URL, ustawiając mapmodeparametr na streetview. Przykład adresu URL, który uruchomi Street Viewappears poniżej. Aby uzyskać więcej informacji, zapoznaj się ze Schemedocumentation URL.

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

lokalizacje Street View i punkt widzenia (POV)

GMSPanoramaCamera pozwala ustawić punkt widzenia kamery Street Viewcamera jako kombinację nagłówka, skoku i powiększenia.

poniższe snippety skierują kamerę na południe i nieco w dół.

Swift

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

Objective-C

panoView.camera = ; 

orientacja

lokalizacja widoku ulicy określa położenie ostrości kamery dla programu animage, ale nie określa orientacji kamery dla tego obrazu.W tym celu obiekt GMSOrientation definiuje dwie właściwości:

  • heading określa kąt obrotu wokół kamery w stopniach względem prawdziwej północy. Pozycje są mierzone zgodnie z ruchem wskazówek zegara: prawdziwa północ to 0, Wschód to 90, południe to 180, Zachód to 270.
  • pitch (domyślnie0) definiuje wariancję kąta „w górę” lub „w dół” od początkowego domyślnego skoku kamery, który jest często (ale nie zawsze) flathorizontal. (Na przykład obraz zrobiony na wzgórzu będzie prawdopodobnie prezentował wysokość, która nie jest pozioma.) Kąty nachylenia są mierzone z wartościami dodatnimi patrząc w górę (do +90 stopni prosto w górę i ortogonalnie do wysokości domyślnej) oraz wartościami ujemnymi patrząc w dół (do -90 stopni prosto w dół i ortogonalnie do wysokości domyślnej).

Zoom

Widok ulicy obsługuje różne poziomy szczegółowości obrazu Dzięki użyciu zoom.Możesz ustawić poziom powiększenia programowo, lub użytkownicy mogą zmienić poziom w przeglądarce, szczypając, aby powiększyć.

przesuwanie kamery

Po utworzeniuGMSPanoramaView I ma skonfigurowaną kamerę ordefault, możesz ją zmienić na jeden z kilku sposobów. Po zmianie kamery masz możliwość animowania wynikowego ruchu kamery. Animacja interpoluje się między aktualnymi atrybutami kamery a nowymi atrybutami kamery.

możesz zmodyfikować obiektGMSPanoramaCamera i ustawić go na właściwościGMSPanoramaViewcamera. Spowoduje to przyciągnięcie kamery do nowego punktu widzenia bez animacji. Można utworzyćGMSCameraPosition, aby skonfigurować dowolną kombinację orientacji i powiększenia.

Swift

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

Objective-C

panoView.camera = ; 

możesz animować Przejście, wywołującanimateToCamera:animationDuration: metodę GMSPanoramaView.Dodatkowo można sterować kamerą za pomocą animacji rdzeniowej. Jest to możliwe za pośrednictwem niestandardowego CALayer na GMSPanoramaViewGMSPanoramaLayer.

znaczniki w Street View

obiektGMSPanoramaView może wyświetlać znaczniki mapy. Możesz użyć nazwy GMSMarker obiektu na GMSMapView lubGMSPanoramaView obiektu, ustawiając jego odpowiednie właściwości:

Swift

// Create a marker at the Eiffel Towerlet position = CLLocationCoordinate2D(latitude: 48.858, longitude: 2.294)let marker = GMSMarker(position: position)// Add the marker to a GMSPanoramaView object named panoViewmarker.panoramaView = panoView// Add the marker to a GMSMapView object named mapViewmarker.map = mapView 

Objective-C

// Create a marker at the Eiffel TowerCLLocationCoordinate2D position = CLLocationCoordinate2DMake(48.858,2.294);GMSMarker *marker = ;// Add the marker to a GMSPanoramaView object named panoViewmarker.panoramaView = panoView;// Add the marker to a GMSMapView object named mapViewmarker.map = mapView; 

znaczniki będą skalowane w zależności od odległości między położeniem znacznika a lokalizacją GMSCameraView. Jeśli ta odległość stanie się zbyt duża, znacznik stanie się zbyt mały, aby go wyświetlić i zostanie ukryty przed widokiem.

ustaw właściwośćpanoramaView nanil, aby usunąć ją zGMSPanoramaView.

Swift

marker.panoramaView = nil 

Objective-C

marker.panoramaView = nil; 

zdarzenia

możesz słuchać zdarzeń, które występują w Panoramie Street View, np. gdy użytkownik naciska przycisk auser na panoramę. Aby nasłuchiwać zdarzeń, należy zaimplementować protokółGMSPanoramaViewDelegate. Zobacz ogólny przewodnik po zdarzeniach i listę metod naGMSPanoramaViewDelegate.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.