met Google Maps Street View kunt u plaatsen over de hele wereld verkennen via 360graden street-level afbeeldingen. U kunt bezienswaardigheden in de wereld verkennen, naturalwonders bekijken, een reis navigeren of de buitenkant van uw bedrijf laten zien.
- overzicht
- Street View panorama ‘ s
- toegang tot Street View-gegevens
- de locatie van het panorama instellen
- Street View-afbeeldingen bekijken
- een Street View-viewer toevoegen
- Swift
- Objective-C
- de viewer aanpassen
- Swift
- Objective-C
- Street View starten met het URL-schema
- Street View locations and point-of-view (POV)
- Swift
- Objective-C
- oriëntatie
- Zoom
- verplaatsen van de camera
- Swift
- Objective-C
- Markers binnen Street View
- Swift
- Objective-C
- Swift
- Objective-C
- Events
overzicht
Google Street View biedt panoramische 360-graden weergaven vanaf aangewezen wegen door het hele dekkingsgebied. De dekking die beschikbaar is via de SDK is dezelfde als die voor de Google Maps for iOS app ofhttps://maps.google.com/
. U kunt meer lezen over Street View en de ondersteunde gebieden bekijken op een interactieve kaart, atAbout Street View.
De Maps-SDK voor iOS biedt een Street View-service voor het verkrijgen en beheren van de afbeeldingen die worden gebruikt in Google Maps Street View. Street View-afbeeldingen worden geretourneerd als panorama ‘ s en worden bekeken vanuit de Street View— viewer-Een object van het type GMSPanoramaView
.
Street View panorama ‘ s
elk Street View panorama is een afbeelding, of verzameling afbeeldingen, die een volledige 360-graden weergave biedt vanaf een enkele locatie. Beelden komen overeen met de equirectangular(Plate Carrée) projectie, die 360 graden horizontaal zicht (een volledige wrap-around) en 180 graden verticaal zicht (van recht omhoog tot licht omlaag) bevat. Het resulterende 360 graden panorama definieert een projectie op een bol met het beeld gewikkeld aan het tweedimensionale oppervlak van die bol.
Street View panorama ‘ s zijn zichtbaar met het GMSPanoramaView
object. Ditobject biedt een kijker die het panorama zal weergeven als een bol, met acamera in het midden. U kunt de oriëntatie van de camera programmatisch regelen, evenals verschillende eigenschappen die de kijker aanpassen.
toegang tot Street View-gegevens
Street View-panorama ‘ s worden geïdentificeerd door een van de twee stukken metagegevens:
panoramaID
de unieke ID van een Street View-panorama. DezepanoramaID
kan in de loop van de tijd veranderen en is niet geschikt als langetermijnreferentie of als harde-gecodeerde referentie. DepanoramaID
kan het beste worden gebruikt om programmatische toegang te bieden tot verschillende Street View-afbeeldingen.coordinate
De precieze locatie van deze afbeelding, uitgedrukt als eenCLLocationCoordinate2D
. Gebruik eencoordinate
voor permanente opslag van een panoramalocatie, of om acties van gebruikers op de kaart te vertalen naar een Street View-afbeelding.
zowel het panoramaID
als het coordinate
worden opgeslagen als eigenschappen van hetGMSPanorama
object. U kunt een GMSPanorama
opvragen van deGMSPanoramaService
met behulp van de coordinate
of panoramaID
. Het resultaat object zal zowel stukken metagegevens bevatten, als een array van links naar nabijgelegen panorama ‘ s.
de locatie van het panorama instellen
de locatie van het Street View panorama kan worden ingesteld op basis van de coördinatie.
-
de
moveNearCoordinate
methode vraagt om een panorama in de buurt van de coördinatie. -
de
moveNearCoordinate:radius
methode is vergelijkbaar, maar staat u toe om een zoekstraal, in meters, rond de coördinaat op te geven. -
met de
moveNearCoordinate:source
methode kunt u een bron opgeven.Een bron is handig als U Street View wilt beperken tot alleen zoeken naarpanorama ‘ s die buiten zijn. Standaard zijn panorama ‘ s van locaties zowel binnen als buiten. Merk op dat buitenpanorama ‘ s mogelijk niet bestaan voor de gespecificeerde locatie. -
met de
moveNearCoordinate:radius:source
methode kunt u zowel aradius als een bron specificeren.
Street View-afbeeldingen bekijken
een Street View-viewer toevoegen
de basisstappen voor het toevoegen van een viewer zijn:
- (eenmaal) Volg de stappen om aan de slag te gaan om de SDK te verkrijgen,een sleutel te verkrijgen en de vereiste frameworks toe te voegen.
- maak of update een
ViewController
. Als het panorama wordt weergegeven wanneer deze weergavecontroller zichtbaar wordt, zorg er dan voor dat het wordt aangemaakt met deloadView
methode. - maak en instanteer een
GMSPanoramaView
klasse met behulp van deGMSPanoramaView
initWithFrame:
methode. Als dit als enige weergave van de weergavecontroller gebruikt moet worden, dan kanCGRectZero
gebruikt worden als kaartframe — de kaart wordt automatisch aangepast. - Stel het
GMSPanoramaView
object in als de weergave van de controller, bijv.self.view = panoView;
. - Stel de locatie van de Street View-afbeelding in met behulp van een methode zoals
moveNearCoordinate:
.
het onderstaande voorbeeld voegt een Street View viewer toe aan een app.
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
de viewer aanpassen
u kunt de viewer aanpassen door de beschikbare bewegingen te beperken. Bydefault, pannen, zoomen en reizen naar aangrenzende panorama ‘ s zijn allemaal ingeschakeld.Individuele gebaren worden gecontroleerd door eigenschappen van GMSPanoramaView
.Deze eigenschappen in-of uitschakelen door de gebruiker gecontroleerde gebaren; programmatische veranderingen zijn nog steeds mogelijk wanneer het gebaar is uitgeschakeld.
orientationGestures
of de gebruiker de camera opnieuw kan oriënteren door te tikken of te slepen. Instellen opNO
om oriëntatiewijzigingen aan de camera uit te schakelen.zoomGestures
of de gebruiker kan knijpen om in te zoomen. Instellen opNO
om zoomen uit te schakelen.navigationGestures
of de gebruiker kan wijzigen welk panorama zichtbaar is. Gebruikers kunnen een enkele tik op navigatiekoppelingen gebruiken of dubbeltikken op de weergave om panorama ‘ s te wijzigen die zijn ingesteld opNO
om navigatiewijzigingen uit te schakelen.
U kunt alle bewegingen tegelijk in-of uitschakelen met de methodesetAllGesturesEnabled:
.
Swift
panoView.setAllGesturesEnabled(false)
Objective-C
;
Street View starten met het URL-schema
Google Street View-afbeeldingen kunnen worden weergegeven vanuit de Google Maps for iOS-toepassing. U kunt de toepassing Google Maps for iOS in streetview-modus starten met hetcomgooglemaps
URL-schema door de parametermapmode
in te stellen opstreetview
. Een voorbeeld van een URL die Street View zal starten, verschijnt hieronder. Voor meer informatie, refereer je naar de URL Schemedocumentation.
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Street View locations and point-of-view (POV)
met GMSPanoramaCamera
kunt u het point-of-view van de Street View camera instellen als een combinatie van kop, toonhoogte en zoom.
de onderstaande fragmentsets Oriënteren de camera naar het zuiden en iets naar beneden.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = ;
oriëntatie
De Street View-locatie definieert de plaatsing van de camerafocus voor animatie, maar het definieert niet de oriëntatie van de camera voor dat beeld.Voor dat doel definieert het object GMSOrientation
twee eigenschappen:
-
heading
definieert de rotatiehoek rond de cameraplaats in graden relatief ten opzichte van het ware noorden. De koppen worden met de klok mee gemeten: het ware noorden is 0, het oosten is 90, het zuiden is 180, het Westen is 270. -
pitch
(default0
) definieert de hoekvariantie” omhoog “of” omlaag ” van de initiële standaard toonhoogte van de camera, die vaak (maar niet altijd) plathorizontaal is. (Bijvoorbeeld, een afbeelding genomen op een heuvel zal waarschijnlijk vertonen adefault toonhoogte die niet horizontaal is.) Toonhoogte hoeken worden gemeten metpositieve waarden kijken omhoog (tot +90 graden recht omhoog en orthogonaal naar de standaard toonhoogte) en negatieve waarden kijken naar beneden (tot -90 graden straight naar beneden en orthogonaal naar de standaard toonhoogte).
Zoom
Street View ondersteunt verschillende niveaus van afbeeldingsdetail door het gebruik van zoomen.U kunt het zoomniveau programmatisch instellen, of gebruikers kunnen het niveau in de kijker wijzigen door te knijpen om in te zoomen.
verplaatsen van de camera
zodra u deGMSPanoramaView
hebt aangemaakt, en deze heeft ofwel een geconfigureerde ordefault camera, kunt u deze op een van de verschillende manieren wijzigen. Wanneer u de camera verandert, hebt u de mogelijkheid om de resulterende camerabeweging te animeren. De animatie interpoleert tussen de huidige camera attributen en de nieuwe camera attributen.
u kunt het GMSPanoramaCamera
object wijzigen en het instellen op deGMSPanoramaView
’s camera
eigenschap. Hiermee wordt de camera naar het nieuwe beeldpunt geklikt zonder animatie. Een GMSCameraPosition
kan worden aangemaakt om elke combinatie van oriëntatie en zoom te configureren.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = ;
u kunt een overgang animeren door deanimateToCamera:animationDuration:
methode van .Daarnaast kunt u de camera bedienen met behulp van Kernanimatie. Dit is beschikbaar via de aangepaste CALayer
op GMSPanoramaView
GMSPanoramaLayer
.
Markers binnen Street View
hetGMSPanoramaView
object kan kaartmarkeringen weergeven. U kunt gebruik maken van hetzelfde GMSMarker
object op een GMSMapView
of eenGMSPanoramaView
object door het instellen van de bijbehorende eigenschappen:
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;
Markeringen schaal in grootte als functie van de afstand tussen de markering’sposition en de GMSCameraView
’s locatie. Als deze afstand te groot wordt, wordt de markering te klein om weer te geven en wordt verborgen voor het zicht.
Stel de eigenschappanoramaView
in op nil
om het uit deGMSPanoramaView
te verwijderen.
Swift
marker.panoramaView = nil
Objective-C
marker.panoramaView = nil;
Events
u kunt luisteren naar gebeurtenissen die zich voordoen op het Street View panorama, zoals wanneer auser tikt op het panorama. Om gebeurtenissen te beluisteren moet u hetGMSPanoramaViewDelegate
protocol implementeren. Zie de algemene gids voor gebeurtenissen en de lijst met methoden op deGMSPanoramaViewDelegate
.