Geospatial-Kurzanleitung für iOS

In dieser Kurzanleitung für die ARCore Geospatial API erfahren Sie, wie Sie eine Beispiel-App ausführen in Xcode an, mit dem die Geospatial API demonstriert wird.

Eine Anleitung zum Entwickeln eigener Apps mit der Geospatial API findest du in der Entwicklerleitfaden für Geodaten für iOS

Weitere Informationen finden Sie in der Einführung in die ARCore Geospatial API für weitere Informationen zur Geospatial API.

Wenn Sie noch keine Erfahrung mit der Entwicklung mit ARCore haben, lesen Sie den Hilfeartikel Erste Schritte.

Vorbereitung

  • Xcode Version 13.0 oder höher
  • Cocoapods 1.4.0 oder höher bei Verwendung von CocoaPods
  • Ein ARKit-kompatibles Apple-Gerät mit iOS 12.0 oder höher (Bereitstellungsziel für iOS 12.0 oder höher erforderlich)

Beispielanwendung einrichten

Das Projekt GeospatialExample, das im ARCore SDK for iOS enthalten ist beschreibt Code, der die Geospatial API aufruft.

  1. Klonen Sie den ARCore SDK für iOS von GitHub um den Beispielcode für die App abzurufen.

  2. Öffnen Sie ein Terminal- oder Finder-Fenster und gehen Sie zum Ordner, in den Sie den Klonen kopiert haben oder das SDK heruntergeladen haben.

  3. Gehen Sie zum Ordner arcore-ios-sdk-master/Examples.

  4. Öffnen Sie den Ordner Beispiele, wählen Sie den Ordner GeospatialExample aus und Klicken Sie auf Öffnen.

Google Cloud-Projekt einrichten

Bevor Sie das Visual Positioning System (VPS) in Ihrer App verwenden können, müssen Sie die ARCore API zu aktivieren in einem neuen oder vorhandenen Google Cloud-Projekt. Obwohl die Geospatial API mit Autorisierung sowohl schlüssellos als auch mit API-Schlüsseln. Verwenden Sie für diese Kurzanleitung die API Schlüsselmethode.

Autorisierung einrichten

Um Geospatial API-Aufrufe an den VPS senden zu können, benötigt die Beispiel-App eine Autorisierung. kann einen uneingeschränkten API-Schlüssel verwenden. Wenn Sie einen eingeschränkten API-Schlüssel verwenden, müssen Sie auch eine Bundle-ID angeben, die mit dem API-Schlüssel verknüpft werden soll.

  1. Öffnen Sie in der Beispiel-App GeospatialExample in XCode die Datei ViewController.m. und suchen Sie nach your-api-key.

  2. Fügen Sie Ihren API-Schlüssel in die Datei GARSession ein: Fügen Sie dazu den API-Schlüssel ein, den Sie aus einer vorherigen Schritt im Text, your-api-key (Anführungszeichen beibehalten), wie angezeigt:

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    

ARCore SDK einrichten

Die App GeospatialExample wird mit einer Podfile ausgeliefert, die mit dem ARCore SDK und die erforderlichen iOS-Versionen. Öffnen Sie zum Installieren dieser Abhängigkeiten eine Terminalfenster und führen Sie pod install in dem Ordner aus, in dem sich das Xcode-Projekt befindet existiert.

Dadurch wird eine .xcworkspace-Datei generiert, mit der Sie die App später erstellen und ausführen können.

Beispielanwendung erstellen und ausführen

  1. Wählen Sie in Xcode die Arbeitsbereichsdatei GeospatialExample aus und klicken Sie auf Signieren und Funktionen.

  2. Klicken Sie das Kästchen Signaturen automatisch verwalten an.

  3. Geben Sie im Feld Team einen Teamnamen ein.

    Sie können die Standard-Bundle-ID verwenden, um die App aus Xcode auszuführen, aber müssen Sie es ändern, wenn Sie das GeospatialExample als Stub für Ihren eigenen App in der Produktion.

  4. Schließen Sie Ihr Gerät an, um die Beispiel-App auszuführen.

  5. Erstellen Sie die App GeospatialExample aus der Datei .xcworkspace und führen Sie sie aus. auf Ihrem Gerät starten.

    Achten Sie darauf, dass Sie aus dem .xcworkspace erstellen, um Build-Fehler zu vermeiden und nicht die .xcodeproj-Datei.

Sie sollten eine Kameraansicht sowie Debug-Informationen zur aktuellen geospatialen Transformation Ihres Geräts sehen. Beim Scannen der Umgebung Beachten Sie, dass sich die Konfidenzwerte für die Positionierungsgenauigkeit ändern, bewegen, wenn Sie sich in einem Gebiet befinden, das von der VPS-Lokalisierung unterstützt wird.

Wenn ARCore den Standort und die Richtung Ihres Geräts ermittelt hat, können Sie ein Verankern Sie mit der Geospatial-Transformation an Ihrem aktuellen Standort.

Die Positionierungsgenauigkeit ist möglicherweise zu gering, wenn VPS-Informationen nicht verfügbar sind. Die Die App muss mit dem Internet verbunden sein und der Standort muss dem VPS bekannt sein. Die besten Ergebnisse erzielen Sie, wenn Sie die Beispiel-App während der Tageslichtstunden im Freien (nicht in Innenräumen) ausführen.

Wenn Sie sich in einem Gebiet befinden, in dem VPS nicht unterstützt wird, reicht es aus, dass Sie die Konfidenzgrenzwerte in der App anpassen müssen, um einen Anker zu platzieren.

So passen Sie die Schwellenwerte an:

  1. Öffnen Sie in Xcode die Datei ViewController.m und rufen Sie Folgendes auf: Abschnitt:

    // Thresholds for 'good enough' accuracy. These can be tuned for the
    // application. We use both 'low'
    // and 'high' values here to avoid flickering state changes.
    static const CLLocationAccuracy kHorizontalAccuracyLowThreshold = 10;
    static const CLLocationAccuracy kHorizontalAccuracyHighThreshold = 20;
    static const CLLocationDirectionAccuracy kHeadingAccuracyLowThreshold = 15;
    static const CLLocationDirectionAccuracy kHeadingAccuracyHighThreshold = 25;
    
  2. Passen Sie diese Werte nach Bedarf an. Je höher der Wert, desto geringer die Genauigkeit.

    Wenn die Genauigkeit verringert wird, kann die App einen größeren Breitengrad platzieren. Weitere Informationen finden Sie unter An Genauigkeit der Transformation anpassen.

Nächste Schritte

Lesen Sie die Entwicklerleitfaden für Geodaten für iOS und beginnen Sie mit der Entwicklung mit der Geospatial API.