Geospatial API für Ihre iOS-App aktivieren

Konfigurieren Sie die Einstellungen der App so, dass sie die Geospatial API verwenden kann.

Vorbereitung

Machen Sie sich mit den grundlegenden AR-Konzepten vertraut. und Konfigurieren einer ARCore-Sitzung beschrieben, bevor du fortfährst.

Wenn Sie eine Beispiel-App ausführen möchten, die die beschriebenen Funktionen demonstriert finden Sie hier: ARCore Geospatial-Kurzanleitung für iOS

Weitere Informationen finden Sie in der Einführung in die Geospatial API zur Geospatial API.

Wenn Sie noch nicht mit ARCore vertraut sind, lesen Sie den Artikel Erste Schritte. finden Sie Informationen zu Software- und Hardwareanforderungen, Voraussetzungen und weitere Informationen speziell für die von Ihnen genutzten Plattformen.

ARCore API aktivieren

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. Dieser Dienst ist für Geospatial-Anker zu hosten, zu speichern und aufzulösen.

Die schlüssellose Autorisierung wird bevorzugt, aber auch die Autorisierung per API-Schlüssel unterstützt.

Der App erforderliche Bibliotheken hinzufügen

Nachdem du deine App zum Aufrufen der ARCore API autorisiert hast, musst du Bibliotheken hinzufügen zu: Geodaten-Funktionen in Ihrer App aktivieren

Aktualisiere die Podfile für deine App, damit sie das ARCore SDK und unterstützte iOS-Apps enthält Versionsverwaltung. Das geht so:

  1. Fügen Sie Folgendes platform und pod hinzu: Podfile des Projekts:

    platform :ios, '11.0'
    pod 'ARCore/Geospatial', '~> 1.45.0'
    

    Sie können auch platform :ios, '10.0' angeben, wenn Sie iOS 10, Die Geospatial API funktioniert jedoch nur zur Laufzeit unter iOS 11 oder höher.

  2. Öffnen Sie ein Terminalfenster und führen Sie pod install in dem Ordner aus, in dem Ihr Xcode-Projekt existiert.

    Dadurch wird eine .xcworkspace-Datei generiert, die Sie zum Erstellen und die App ausführen.

Achte darauf, dass deine Entwicklungsumgebung die ARCore SDK-Anforderungen erfüllt, z. B. Kurzanleitung beschrieben.

Raumbezogene Funktionen in der Sitzungskonfiguration aktivieren

Gerätekompatibilität prüfen

Nicht alle Geräte, die ARCore unterstützen, unterstützen auch die Geospatial API. Kurzanleitung beschrieben.

Verwenden Sie GARSession.isGeospatialModeSupported: um das Gerät zu überprüfen:

if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
  [self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
  return;
}

GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
  [self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
                                                  (int)error.code]];
  return;
}

Nutzer zur Laufzeit um Berechtigungen zur Standortermittlung bitten

Deine App muss zur Laufzeit die folgenden Berechtigungen zur Standortermittlung anfordern, bevor Konfiguration der Sitzung:

Verfügbarkeit von raumbezogenen Daten am aktuellen Standort des Geräts prüfen

Da die Geospatial API zur Bestimmung einer Geospatial-Transformation eine Kombination aus VPS und GPS verwendet, kann die API verwendet werden, solange das Gerät seinen Standort bestimmen kann. In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und dichten städtischen Umgebungen, wird die API auf die VPS-Abdeckung angewiesen, um Transformationen mit hoher Genauigkeit zu generieren. Unter typischen Bedingungen ist mit VPS eine Positionsgenauigkeit von etwa 5 Metern und eine Rotationsgenauigkeit von 5 Grad zu erwarten. Mit GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: können Sie ermitteln, ob ein bestimmter Standort eine VPS-Abdeckung hat.

Die Geospatial API kann auch in Gebieten eingesetzt werden, die keine VPS-Abdeckung haben. In Umgebungen im Freien mit wenig oder gar keinen Hindernissen kann GPS ausreichen, um eine Transformation mit hoher Genauigkeit zu generieren.

Nächste Schritte