Frage

Ich will zeigen Das Standort innerhalb der Karte ohne Verwendung des Google Maps-URL-Schemas. Ich habe GMSPanoramaView verwendet, um die Straßenansicht unter Verwendung der angegebenen Breiten- und Längengrade anzuzeigen (53.426398,-2.242795) aber der Bereich innerhalb des Gebäudes wird nicht angezeigt, dieser Bereich wird im Browser oder im URL-Schema angezeigt.

ich benutzte Github-Demo Code, um die Straßenansicht anzuzeigen, aber ich möchte genau den oben genannten Standort in der App anzeigen.

Ich möchte keine Webview-, Safari- oder Google Map-App verwenden.

War es hilfreich?

Lösung

Ich denke, du fehlt

generasacodicetagpre.

Andere Tipps

Es ist möglich!Extrahieren Sie die panoid aus Beitrag von user2744623:

Hier ist ein alternativer Link (verwendet Embedder für Google Business View) https://maps.google.com/maps?layer=c&panoid=shcQTg4Y9qh9T0p5aspVvA&ie=UTF8&source=embed&output=svembed&cbp=13%2C213%2C%2C0%2C0

Und dann verwenden Sie es als PanoramaID im iOS SDK:

GMSPanoramaView *view_ = [GMSPanoramaView panoramaWithFrame:CGRectZero
                          nearCoordinate:CLLocationCoordinate2DMake(53.426398, -2.242795)];
[view_ moveToPanoramaID:@"shcQTg4Y9qh9T0p5aspVvA"];

Anschließend können Sie einstellen GMSPanoramaCamera:cameraWithHeading:pitch:zoom: in den von Ihnen bevorzugten Winkel:

[GMSPanoramaCamera cameraWithHeading:200.0f pitch:-10.0f zoom:1];

Hier ist die offizielle Dokumentation An GMSPanoramaView:moveToPanoramaID::

Fordert ein Panorama mit an panoramaID.Nach erfolgreichem Abschluss panoramaView:didMoveToPanorama: wird an gesendet GMSPanoramaViewDelegate.Auf Fehler panoramaView:error:onMoveToPanoramaID: wird gesendet werden.Wiederholte Anrufe bei moveToPanoramaID: Dies führt dazu, dass die vorherigen ausstehenden (unvollständigen) Übergänge abgebrochen werden – nur der jüngste davon moveNearCoordinate: Und moveToPanoramaId: wird fortfahren und Ereignisse generieren.Nur panoramaIDVom Google Maps SDK für iOS erhaltene Dateien werden unterstützt.

Ich denke, den letzten Satz kannst du ignorieren, heh.

Hier ist eine vollständige Implementierung, adaptiert aus dem SDK-Demoprojekt:

@interface PanoramaViewController () <GMSPanoramaViewDelegate>
@end

@implementation PanoramaViewController {
    GMSPanoramaView *view_;
    BOOL configured_;
}

- (void)viewDidLoad {
    [super viewDidLoad];

    view_ = [GMSPanoramaView panoramaWithFrame:CGRectZero
                                nearCoordinate:CLLocationCoordinate2DMake(53.426398, -2.242795)];
    view_.backgroundColor = [UIColor grayColor];
    view_.delegate = self;
    self.view = view_;

    [view_ moveToPanoramaID:@"shcQTg4Y9qh9T0p5aspVvA"];
}

#pragma mark - GMSPanoramaDelegate

- (void)panoramaView:(GMSPanoramaView *)view
   didMoveToPanorama:(GMSPanorama *)panorama {
    if (!configured_) {
        view_.camera = [GMSPanoramaCamera cameraWithHeading:200.0f pitch:-10.0f zoom:1];

        configured_ = YES;
    }
}

// Use to fine-tune initial heading and pitch
- (void)panoramaView:(GMSPanoramaView *)panoramaView
       didMoveCamera:(GMSPanoramaCamera *)camera {
    NSLog(@"Camera: (%f,%f,%f)", camera.orientation.heading, camera.orientation.pitch, camera.zoom);
}

// Helpful in finding other panorama IDs or debugging:
- (void)panoramaView:(GMSPanoramaView *)view
willMoveToPanoramaID:(NSString *)panoramaID {
    NSLog(@"willMoveToPanoramaID: %@", panoramaID);
}

- (void)panoramaView:(GMSPanoramaView *)view
               error:(NSError *)error
  onMoveToPanoramaID:(NSString *)panoramaID {
    NSLog(@"error: %@ onMoveToPanoramaID: %@", error, panoramaID);
}

@end

Sie haben zwei Optionen.Laden Sie das Pano herunter oder verwenden Sie eine der vielen Google-genehmigten Wege, um die Ansicht zu erhalten.

Hier ist ein alternativer Link (verwendeter Embedder für Google Business View) https:// Karten.google.com / maps

Schnappen Sie sich das Pano mit Pano Fetch

Verwenden Sie die API - die unten ist ein teilweise PSUDO-Code, Sie benötigen eine kleine Menge an JavaScript-Wissen.

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top