a Google Maps Street View segítségével 360 fokos, utcaszintű képeket fedezhet fel a világ minden tájáról. Felfedezheti a világ nevezetességeit, megtekintheti a naturalwonders-t, navigálhat egy utazáson, vagy megmutathatja vállalkozásának külsejét.
- áttekintés
- Utcakép-panorámák
- az Utcakép-adatok elérése
- a panoráma helyének beállítása
- Utcakép-képek megtekintése
- Utcakép-megjelenítő hozzáadása
- Swift
- Objective-C
- a néző testreszabása
- Swift
- Objective-C
- az Utcakép elindítása az URL-sémával
- Utcakép-helyek és Nézőpont (POV)
- Swift
- Objective-C
- Orientation
- Zoom
- A fényképezőgép mozgatása
- Swift
- Objective-C
- jelölők az Utcakép
- Swift
- Objective-C
- Swift
- Objective-C
- események
áttekintés
a Google Street View panorámás 360 fokos kilátást nyújt a kijelölt utakrólaz egész lefedettségi területén. Az SDK-n keresztül elérhető lefedettség augyanaz, mint a Google Maps for iOS alkalmazás vagy ahttps://maps.google.com/
. További információ az utcanézetről, valamint a támogatott területek egy interaktív térképen, az Utcakép címen tekinthetők meg.
az iOS-hez készült Maps SDK Utcakép szolgáltatást nyújt a Google Maps Street View-ban használt képek megszerzéséhez ésmanipulálásához. Az Utcakép-képek panorámaként kerülnek vissza, és az Utcakép-megjelenítőn belül láthatók— egy GMSPanoramaView
típusú objektum.
Utcakép-panorámák
minden Utcakép-panoráma olyan kép vagy képkészlet, amely teljes 360 fokos képet biztosít egyetlen helyről. A képek megfelelnek az equirectangular (Plate Carracne) vetületnek, amely 360 fokos vízszintes nézetet (teljes körbefutás) és 180 fokos függőleges nézetet tartalmaz (egyenesen felfelé egyenesen lefelé). Az így kapott 360 fokos panoráma meghatározza a vetületegy gömbön, amelynek képét a gömb kétdimenziós felületére csomagolják.
Az Utcakép panorámaképek aGMSPanoramaView
objektummal láthatók. A Thisobject olyan nézőt biztosít, amely a panorámát gömbként jeleníti meg, középpontjában az acamera áll. Programozottan vezérelheti akamera, valamint számos olyan tulajdonság, amely testreszabja a nézőt.
az Utcakép-adatok elérése
Az Utcakép-panorámákat két meta-adat egyike azonosítja:
panoramaID
az Utcakép-panoráma egyedi azonosítója. Ez apanoramaID
idővel változhat, és nem alkalmas hosszú távú vagy kódolt referenciaként. ApanoramaID
programozott hozzáférést biztosít a különböző Utcakép képekhez.coordinate
a kép pontos helye,CLLocationCoordinate2D
. Használja acoordinate
panorámahely tartós tárolásához, vagy a térképen végzett felhasználói műveletek Utcakép-képpé történő lefordításához.
mind a panoramaID
, mind a coordinate
aGMSPanorama
objektum tulajdonságai tárolódnak. GMSPanorama
aGMSPanoramaService
a coordinate
vagy a panoramaID
használatával kérhető. Az eredményobjektum mindkét metaadatot tartalmazza, valamint egy sor linket a közeli panorámákhoz.
a panoráma helyének beállítása
Az Utcakép panoráma helye a koordináta alapján állítható be.
-
a
moveNearCoordinate
módszer panorámát kér a koordináta közelében. -
a
moveNearCoordinate:radius
módszer hasonló, de lehetővé tesziön megadja a keresési sugarat méterben, a koordináta körül. -
a
moveNearCoordinate:source
módszer lehetővé teszi a forrás megadását.A forrás akkor hasznos, ha korlátozni szeretné az utcanézetet, hogy csak a külső panorámákat keresse. Alapértelmezés szerint a helyek panorámái isbelső vagy külső. Ne feledje, hogy a kültéri panorámák nem léteznekmeghatározott hely. -
a
moveNearCoordinate:radius:source
módszer lehetővé teszi mind az aradius, mind a forrás megadását.
Utcakép-képek megtekintése
Utcakép-megjelenítő hozzáadása
a megjelenítő hozzáadásának alapvető lépései a következők:
- (egyszer) kövesse az első lépések lépéseit az SDK megszerzéséhez,egy kulcs beszerzéséhez és a szükséges keretrendszerek hozzáadásához.
-
ViewController
létrehozása vagy frissítése. Ha a panoráma akkor jelenik meg, amikor ez a nézetvezérlő láthatóvá válik, győződjön meg róla, hogy aloadView
módszerrel hozza létre. - hozzon létre és példányosítson egy
GMSPanoramaView
osztályt aGMSPanoramaView
initWithFrame:
módszerrel. Ha ez a nézetvezérlő egyetlen nézete, akkor aCGRectZero
használható térképkeretként — a térkép automatikusan átméreteződik. - állítsa be a
GMSPanoramaView
objektumot a nézetvezérlő nézeteként, pl.self.view = panoView;
. - állítsa be az Utcakép helyét olyan módszerrel, mint a
moveNearCoordinate:
.
az alábbi példa hozzáad egy Utcakép nézőt egy alkalmazáshoz.
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
a néző testreszabása
testreszabhatja a nézőt a rendelkezésre álló gesztusok korlátozásával. A Bydefault, a pásztázás, a nagyítás és a szomszédos panorámákhoz való utazás mind engedélyezve van.Az egyes gesztusokat a GMSPanoramaView
tulajdonságai vezérlik.Ezek a tulajdonságok engedélyezik vagy letiltják a felhasználó által vezérelt gesztusokat; programmaticchanges továbbra is lehetséges, ha a gesztus le van tiltva.
orientationGestures
hogy a felhasználó képes lesz-e újra orientálni a kamerát koppintással vagy húzással. ÁllítsaNO
értékre a fényképezőgép tájolásának megváltoztatásának letiltásához.zoomGestures
hogy a felhasználó képes lesz-e csípni a nagyításhoz. ÁllítsaNO
értékre a zoom letiltásához.navigationGestures
hogy a felhasználó képes lesz-e megváltoztatni a látható panorámát. A felhasználók a navigációs hivatkozások egyetlen érintésével vagy a nézet dupla megérintésével módosíthatják aNO
értékre beállított panorámaképeket a navigációs módosítások letiltásához.
az összes gesztust egyszerre engedélyezheti vagy letilthatja asetAllGesturesEnabled:
módszerrel.
Swift
panoView.setAllGesturesEnabled(false)
Objective-C
;
az Utcakép elindítása az URL-sémával
a Google Utcakép képei megtekinthetők a Google Térkép iOSapplication alkalmazásban. A Google Maps for iOS alkalmazást streetview módban indíthatja el a comgooglemaps
URL sémával, ha a mapmode
paramétert streetview
értékre állítja. Példa egy URL-re, amely elindítja az Utcaképetaz alábbiakban jelenik meg. További információkért lásd az URL-Sémátdokumentáció.
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Utcakép-helyek és Nézőpont (POV)
a GMSPanoramaCamera
lehetővé teszi az Utcakép-kamera nézetpontjának beállítását a fejléc, a hangmagasság és a zoom kombinációjaként.
az alábbi részletkészletek délre, kissé lefelé irányítják a kamerát.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = ;
Orientation
Az Utcakép helye határozza meg a kamera fókuszának elhelyezését az animációhoz, de nem határozza meg a kamera tájolását az adott képhez.Ebből a célból a GMSOrientation
objektum két tulajdonságot határoz meg:
-
heading
meghatározza a kamera helyének forgási szögét fokokban a valódi északhoz képest. A fejléceket az óramutató járásával megegyező irányban mérjük: az igazi észak 0, kelet 90, Dél 180, Nyugat 270. -
pitch
(alapértelmezett0
) meghatározza a szög varianciát” fel “vagy” le ” a kamera kezdeti alapértelmezett hangmagasságától, amely gyakran (de nem mindig) lapos vízszintes. (Például egy dombon készített kép valószínűleg nem vízszintes adefault hangmagasságot mutat.) A hangmagasság szögeit felfelé néző pozitív értékekkel (+90 fokig egyenesen felfelé és merőleges az alapértelmezett hangmagasságra) és lefelé néző negatív értékekkel (-90 fokig egyenesen lefelé és merőleges az alapértelmezett hangmagasságra) mérjük.
Zoom
Az Utcakép a zoom használatával támogatja a kép részletességének különböző szintjeit.Beállíthatja a nagyítási szintet programozottan, vagy a felhasználók megváltoztathatják a szintet a nézőben a nagyításhoz való becsípéssel.
A fényképezőgép mozgatása
miután létrehozta a GMSPanoramaView
– t, és vagy konfigurált ordefault kamerával rendelkezik, többféle módon módosíthatja. A kamera megváltoztatásakor lehetősége van animálni a kapott kamera mozgását. Az animáció interpolál az aktuális kameratulajdonságok és a newcamera attribútumok között.
módosíthatja a GMSPanoramaCamera
objektumot, és beállíthatja aGMSPanoramaView
‘s camera
tulajdonságra. Ez bepattintja a kamerát az újba. Nézőpont animáció nélkül. AGMSCameraPosition
létrehozható a tájolás és a zoom kombinációjának konfigurálásához.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = ;
az átmenetet aanimateToCamera:animationDuration:
módszer GMSPanoramaView
.Ezenkívül a kamerát Core animációval is vezérelheti. Ez elérhető az egyéni CALayer
on GMSPanoramaView
GMSPanoramaLayer
.
jelölők az Utcakép
a GMSPanoramaView
objektum képes térképjelzők megjelenítésére. Használhatja thesame GMSMarker
objektumot vagy egy GMSMapView
vagy egyGMSPanoramaView
objektumot a megfelelő tulajdonságok beállításával:
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;
a jelölők mérete a jelölő pozíciója és a GMSCameraView
helye közötti távolság függvényében változik. Ha ez a távolság túl nagy lesz, a jelölő túl kicsi lesz a megjelenítéshez, és el lesz rejtve a nézetből.
állítsa be apanoramaView
tulajdonságotnil
hogy eltávolítsa aGMSPanoramaView
.
Swift
marker.panoramaView = nil
Objective-C
marker.panoramaView = nil;
események
meghallgathatja az Utcakép panorámájában előforduló eseményeket, például amikor az auser megérinti a panorámát. Az események meghallgatásához végre kell hajtania aGMSPanoramaViewDelegate
protokollt. Lásd az események átfogó útmutatóját és a módszerek listáját aGMSPanoramaViewDelegate
oldalon.