Krótkie wprowadzenie do danych geoprzestrzennych na iOS

Z tego krótkiego wprowadzenia do interfejsu ARCore Geospatial API dowiesz się, jak uruchomić przykładową aplikację w Xcode, który przedstawia interfejs Geospatial API.

Przewodnik tworzenia własnej aplikacji przy użyciu interfejsu Geospatial API znajdziesz w Przewodnik po funkcjach geoprzestrzennych dla programistów iOS.

Zobacz Wprowadzenie do interfejsu ARCore Geospatial API informacje o interfejsie Geospatial API.

Jeśli nie masz doświadczenia w programowaniu z ARCore, przeczytaj artykuł Pierwsze kroki.

Wymagania wstępne

  • Xcode w wersji 13.0 lub nowszej
  • Cocoapods w wersji 1.4.0 lub nowszej (jeśli używasz Cocoapods).
  • Urządzenie Apple zgodne z ARKit z systemem iOS 12.0 lub nowszym (wymagany jest cel wdrożenia iOS 12.0 lub nowszy)

Konfigurowanie przykładowej aplikacji

Projekt GeospatialExample zawarty w pakiecie SDK ARCore na iOS opisuje kod, który wywołuje interfejs Geospatial API.

  1. Skopiuj lub pobierz plik ARCore SDK na iOS z GitHub aby uzyskać kod przykładowej aplikacji.

  2. Otwórz okno terminala lub programu Finder i przejdź do folderu, w którym znajduje się sklonowany plik. lub pobrano pakiet SDK.

  3. Otwórz folder arcore-ios-sdk-master/Examples.

  4. Otwórz folder Przykłady, wybierz folder GeospatialExample i kliknij Otwórz.

Skonfiguruj projekt Google Cloud

Zanim użyjesz w aplikacji systemu pozycjonowania wizualnego (VPS), musisz najpierw włączyć interfejs ARCore API w nowym lub istniejącym projekcie Google Cloud. Chociaż interfejs Geospatial API współpracuje z zarówno bez klucza, jak i autoryzacji klucza interfejsu API. W tym krótkim przewodniku użyj interfejsu API, Metoda klucza.

Autoryzacja konfiguracji

Aby móc wykonywać wywołania interfejsu Geospatial API do VPS, przykładowa aplikacja wymaga autoryzacji oraz może używać klucza interfejsu API bez ograniczeń. Jeśli używasz klucza API z ograniczeniami, musisz też podać identyfikator pakietu, który zostanie powiązany z kluczem API.

  1. W XCode w przykładowej aplikacji GeospatialExample otwórz plik ViewController.m i wyszukaj your-api-key.

  2. Dodaj klucz interfejsu API do GARSession: wklej skopiowany w poprzednim kroku klucz interfejsu API w miejscu tekstu twój-klucz-api (pozostaw cudzysłów), jak pokazano na ilustracji:

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

Konfigurowanie pakietu ARCore SDK

Aplikacja GeospatialExample jest wysyłana ze wstępnie skonfigurowanym parametrem Podfile ARCore SDK i wersje iOS, których potrzebujesz. Aby zainstalować te zależności, otwórz okno terminala i uruchom pod install z folderu, w którym znajduje się projekt Xcode.

Spowoduje to wygenerowanie pliku .xcworkspace, którego użyjesz później do kompilacji i uruchomienia aplikacji.

Tworzenie i uruchamianie przykładowej aplikacji

  1. W Xcode wybierz plik obszaru roboczego GeospatialExample i kliknij Podpisowanie Możliwości.

  2. Zaznacz pole Automatycznie zarządzaj podpisywaniem.

  3. W polu Zespół wpisz nazwę zespołu.

    Do uruchamiania aplikacji z Xcode możesz użyć domyślnego identyfikatora pakietu, ale musisz go zmienić, jeśli używasz parametru GeospatialExample jako fragmentu do użytku własnego. w wersji produkcyjnej.

  4. Połącz urządzenie, aby uruchomić aplikację próbną.

  5. Utwórz i uruchom aplikację GeospatialExample z pliku .xcworkspace w i uruchom ją na swoim urządzeniu.

    Aby uniknąć błędów kompilacji, używaj .xcworkspace a nie .xcodeproj.

Powinien być widoczny widok z kamery wraz z opisem danych debugowania obecnego przekształcenia geoprzestrzennego urządzenia. Podczas skanowania środowiska możesz zauważyć, że wartości ufności dokładności pozycjonowania mogą się zmieniać po okolicy, jeśli jesteś w obszarze obsługiwanym przez lokalizację VPS.

Gdy ARCore ma pewność co do lokalizacji i kierunku urządzenia, możesz umieścić Zakotwicz w bieżącej lokalizacji, korzystając z przekształcenia geoprzestrzennego.

Dokładność pozycjonowania może być zbyt niska, jeśli informacje VPS są niedostępne. Aplikacja musi być połączona z internetem, a VPS musi znać lokalizację. Aby uzyskać najlepsze wyniki, uruchamiaj przykładową aplikację na zewnątrz (nie wewnątrz budynków) w ciągu dnia.

Jeśli znajdziesz się na obszarze, w którym nie są obsługiwane VPS, lub jeśli sygnały GPS nie jest wystarczające, może być konieczne dostosowanie progów ufności w aplikacji, aby aby umieścić reklamę zakotwiczoną.

Aby dostosować progi:

  1. W Xcode otwórz plik ViewController.m i przejdź do następujących :

    // 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. W razie potrzeby dostosuj te wartości. Im wyższa wartość, tym mniejsza dokładność.

    Zmniejszenie dokładności daje aplikacji większą szerokość miejsca zakotwiczenia. Zobacz Dostosowywanie pod kątem dokładności przekształcenia .

Dalsze kroki

Zapoznaj się z Przewodnik po funkcjach geoprzestrzennych dla programistów iOS i zacznij tworzyć rozwiązania za pomocą interfejsu Geospatial API.