Maybaygiare.org

Blog Network

Street View

Google Maps Street View umožňuje prozkoumat míst po celém světě through360 stupně, pouliční snímky. Můžete prozkoumat světové památky, Zobrazit přírodnízázraky, navigovat na výlet nebo ukázat vnější část vašeho podnikání.

Přehled

Google Street View nabízí panoramatický 360 ° výhled z určených roadsthroughout své oblasti pokrytí. Pokrytí dostupné prostřednictvím sady SDK jestejný jako pro aplikaci Mapy Google pro iOS nebohttps://maps.google.com/. Můžete si přečíst více aboutStreet View a vidět podporované oblasti na interaktivní mapě, atAbout Street View.

Maps SDK pro iOS poskytuje službu Street View pro získání andmanipulaci snímků používaných v Google Maps Street View. Street View obrázky jsou vráceny jako panoramata a jsou prohlíženy z prohlížeče Street View-objekt typu GMSPanoramaView.

Panoramata Street View

každé Panorama Street View je obrázek nebo sada obrázků, která poskytuje full360 stupňový pohled z jednoho místa. Obrázky odpovídají equirectangular(Deska Carré) projekce, která obsahuje 360 stupňů horizontální pohled (na plný wrap-around) a 180 stupňů z vertikálního pohledu (z přímo tostraight dolů). Výsledné 360 stupňové panorama definuje projekcena kouli s obrazem zabaleným do dvourozměrného povrchu sféry.

panoramata Street View lze zobrazit pomocí objektu GMSPanoramaView. Thisobject poskytuje diváka, který bude vykreslit panorama jako koule, s acamera v jeho středu. Můžete programově řídit orientacifotoaparát, stejně jako několik vlastností přizpůsobujících prohlížeč.

přístup k datům Street View

Panoramata Street View jsou identifikována jedním ze dvou metadat:

panoramaIDjedinečné ID panoramatu Street View. TentopanoramaIDse může časem měnit a není vhodný jako dlouhodobý nebo pevně zakódovaný odkaz.panoramaIDse nejlépe používá k zajištění programového přístupu k různým obrázkům Street View.coordinatepřesné umístění tohoto obrázku, vyjádřené jakoCLLocationCoordinate2D. Použijtecoordinatepro trvalé ukládání panoramatického umístění nebo pro překlad uživatelských akcí na mapě do obrazu Street View.

i panoramaIDcoordinate jsou uloženy jako vlastnostiGMSPanorama objekt. Můžete požádat o GMSPanoramaGMSPanoramaService pomocí coordinate nebo panoramaID. Objekt bude obsahovat jak metadata, tak pole odkazů na okolní panoramata.

nastavení polohy panoramatu

umístění panoramatu Street View lze nastavit na základě koordinátu.

  • metodamoveNearCoordinate požaduje panorama poblíž koordinátu.

  • metoda moveNearCoordinate:radius je podobná, ale umožňuje zadat poloměr vyhledávání v metrech kolem souřadnice.

  • metoda moveNearCoordinate:source umožňuje zadat zdroj.Zdroj je užitečný, pokud chcete omezit Street View pouze hledatpanoramata, která jsou venku. Ve výchozím nastavení jsou také panoramata místuvnitř nebo venku. Všimněte si, že venkovní panoramata nemusí existovaturčené umístění.

  • metoda moveNearCoordinate:radius:source umožňuje zadat aradius i zdroj.

Prohlížení snímků Street View

Přidat Street View viewer

základní kroky pro přidání viewer jsou:

  1. (Jednou), Postupujte podle kroků v začátcích získat SDK,získat klíč a přidat požadované rámců.
  2. Vytvořte nebo aktualizujte ViewController. Pokud se panorama zobrazí, kdyžtento řadič zobrazení bude viditelný, nezapomeňte jej vytvořit pomocí metody loadView.
  3. Vytvořte a vytvořte GMSPanoramaView třídu pomocí metodyGMSPanoramaViewinitWithFrame:. Pokud má být použit jako jediný pohled řadiče, pak CGRectZero může být použit jako snímek mapy-Mapa bude automaticky změněna.
  4. Nastavte objekt GMSPanoramaView jako pohled řadiče zobrazení, např.self.view = panoView;.
  5. Nastavte umístění obrazu Street View pomocí metody, jako jemoveNearCoordinate:.

níže uvedený příklad přidá prohlížeč Street View do aplikace.

Rychlé

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 

Přizpůsobení prohlížeč

můžete přizpůsobit prohlížeč omezením, která gesta jsou k dispozici. Bydefault, posouvání, zoomování a cestování do sousedních panoramat jsou povoleny.Jednotlivá gesta jsou ovládána pomocí vlastností GMSPanoramaView.Tyto vlastnosti povolit nebo zakázat uživatelem kontrolovaná gesta; programmaticchanges jsou stále možné, když gesto je zakázáno.

orientationGestureszda bude uživatel schopen znovu orientovat kameru klepnutím nebo přetažením. NastavteNOChcete-li zakázat změny orientace kamery.zoomGestureszda se uživatel bude moci přiblížit. Nastavte naNOpro vypnutí zoomu.navigationGestureszda uživatel bude moci změnit, které panorama je viditelné. Uživatelé mohou pomocí jediného klepnutí na navigační odkazy nebo dvojitým klepnutím na zobrazení změnit panoramata nastavená naNOzakázat změny navigace.

pomocí metodysetAllGesturesEnabled: můžete povolit nebo zakázat všechna gesta najednou.

Rychlé

panoView.setAllGesturesEnabled(false) 

Objective-C

; 

Spuštění Street View s URL Schéma

Google Street View je viditelná v rámci Google Maps pro iOSapplication. Můžete spustit Mapy Google pro iOS aplikace v režimu streetview s comgooglemaps URL Schéma nastavením mapmodeparametr streetview. Příklad adresy URL, která spustí Street Viewse objeví níže. Další informace naleznete v URL Schemedocumentation.

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

Street View místa a point-of-view (POV)

GMSPanoramaCamera umožňuje nastavit point-of-view Ulice Viewcamera jako kombinaci čísla, pitch a zoom.

níže uvedené sady úryvků orientují kameru na jih a mírně dolů.

Rychlé

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

Objective-C

panoView.camera = ; 

Orientace

Street View poloha definuje umístění zaostření kamery pro animage, ale to není definovat orientaci fotoaparátu pro daný snímek.Za tímto účelem, GMSOrientation objekt definuje dvě vlastnosti:

  • heading určuje úhel otočení kolem kamery locusin stupňů relativní od skutečného severu. Nadpisy se měří ve směru hodinových ručiček: skutečný sever je 0, východ je 90, jih je 180, západ je 270.
  • pitch (výchozí 0) definuje úhel rozptylu „nahoru“ nebo „dolů“ z thecamera je výchozí hřiště, které je často (ale ne vždy) flathorizontal. (Například snímek pořízený na kopci bude pravděpodobně vykazovat výšku hřiště, která není vodorovná.) Rozteč úhly jsou měřeny withpositive hodnoty při pohledu nahoru (do +90 stupňů rovné a kolmé k výchozí hřiště) a záporné hodnoty pohledu dolů (do -90 degreesstraight dolů a kolmé k výchozí hřiště).

Zoom

Street View podporuje různé úrovně detailů obrazu pomocí zoomu.Můžete nastavit úroveň zoomu programově, nebo uživatelé mohou změnit úroveň inthe diváka štípnutím pro zvětšení.

přesunutí kamery

jakmile vytvoříte GMSPanoramaView a má buď nakonfigurovanou kameru ordefault, můžete ji změnit jedním z několika způsobů. Když měnítefotoaparát, máte možnost animovat výsledný pohyb kamery. Theanimation interpoluje mezi aktuálními atributy kamery a atributy newcamera.

můžete upravit objekt GMSPanoramaCamera a nastavit jej na vlastnostGMSPanoramaView‚s camera. Tím se fotoaparát dostane do nového zorného pole bez animace. GMSCameraPosition může být vytvořen pro konfiguraci libovolné kombinace orientace a zoomu.

Rychlé

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

Objective-C

panoView.camera = ; 

můžete animovat přechod volánímanimateToCamera:animationDuration: metoda GMSPanoramaView.Kromě toho můžete ovládat fotoaparát pomocí základní animace. To je k dispozici prostřednictvím vlastní CALayerGMSPanoramaViewGMSPanoramaLayer.

markery v Street View

objekt GMSPanoramaView je schopen zobrazit mapové značky. Můžete použít stejné GMSMarker objekt na GMSMapView neboGMSPanoramaView objekt nastavením odpovídající vlastnosti:

Rychlé

// 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; 

Značky bude měřítko ve velikosti jako funkce vzdálenosti mezi značky’sposition a GMSCameraView‚s místo. Pokud se tato vzdálenost stane příliš velkou, značka bude příliš malá na zobrazení a bude skrytázobrazení.

Nastavte panoramaView vlastnost nil odstranitGMSPanoramaView.

Rychlé

marker.panoramaView = nil 

Objective-C

marker.panoramaView = nil; 

Akce

můžete poslouchat události, které se vyskytují na Street View panorama, jako když uživatel poklepe na panorama. Chcete-li poslouchat události, musíte implementovat protokolGMSPanoramaViewDelegate. Viz celkový průvodce událostmi a seznam metod naGMSPanoramaViewDelegate.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.