此 ARCore Geospatial API 的快速入門導覽課程說明如何執行範例應用程式 示範 Geospatial API 的 Xcode 檔案。
如需使用 Geospatial API 自行開發應用程式的指南,請參閱 iOS 適用的地理空間開發人員指南。
如要進一步瞭解 Geospatial API,請參閱「ARCore Geospatial API 簡介」。
如果您是第一次使用 ARCore 進行開發,請參閱入門指南。
必要條件
- Xcode 13.0 以上版本
- Cocoapods 1.4.0 以上版本 (如果使用 Cocoapods)
- 與 ARKit 相容的 Apple 裝置 (搭載 iOS 12.0 以上版本) (需要部署目標為 iOS 12.0 以上版本)
設定範例應用程式
iOS ARCore SDK 隨附的 GeospatialExample 專案 是呼叫 Geospatial API 的程式碼。
複製或下載 從 GitHub 取得 iOS 版 ARCore SDK 取得範例應用程式的程式碼
開啟「Terminal」或「Finder」視窗,然後前往您複製的資料夾 或是下載 SDK
前往「arcore-ios-sdk-master/Examples」arcore-ios-sdk-master/Examples資料夾。
開啟「Examples」資料夾,選取「GeospatialExample」資料夾, 按一下「Open」。
設定 Google Cloud 專案
在應用程式中使用視覺定位系統 (VPS) 之前,您必須先 啟用 ARCore API 建立新的叢集或開啟現有 Google Cloud 專案Geospatial API 可與 無金鑰和 API 金鑰授權 在本快速入門指南內 金鑰方法。
設定授權
如要對 VPS 發出 Geospatial API 呼叫,範例應用程式需要授權,且 可以使用未受限的 API 金鑰。如果您使用受限制的 API 金鑰,也必須 提供要與 API 金鑰建立關聯的軟體包 ID。
在 XCode 的 GeospatialExample 範例應用程式中,開啟 ViewController.m 檔案,然後搜尋 your-api-key。
將 API 金鑰新增至
GARSession
:貼上您從 改為使用 your-api-key (保留引號), 顯示:self.garSession = [GARSession sessionWithAPIKey:@"your-api-key" bundleIdentifier:nil error:&error];
設定 ARCore SDK
GeospatialExample 應用程式隨附 Podfile
,
您需要的 ARCore SDK 和 iOS 版本。如要安裝這些依附元件,請開啟
終端機視窗,並從 Xcode 專案的資料夾執行 pod install
存在。
這項操作會產生 .xcworkspace
檔案,您稍後可以用來建構及執行
應用程式。
建構並執行範例應用程式
在 Xcode 中選取 GeospatialExample 工作區檔案,然後點選 簽名與功能。
勾選「自動管理簽署」方塊。
在「團隊」欄位中輸入團隊名稱。
您也可以使用預設的軟體包 ID 從 Xcode 執行應用程式,但 如果使用 GeospatialExample 做為您自己的虛設常式,您就必須變更 賺取收益。
連結裝置以執行範例應用程式。
從
.xcworkspace
檔案建構並執行 GeospatialExample 應用程式, 在您的裝置上啟動該程式。為避免建構錯誤,請務必使用
.xcworkspace
進行建構 而非.xcodeproj
檔案
您應該能看到相機畫面,以及說明偵錯資訊 裝置目前的地理空間轉換。掃描環境時 注意,位置準確度信心值可能會隨著您 如果您位於 VPS 本地化支援的區域中
如果 ARCore 確定裝置的位置和方向正確,你就可以在 使用地理空間轉換功能,固定在目前的位置。
如果沒有 VPS 資訊,定位精確度可能過低。 應用程式必須連上網際網路,且 VPS 必須知道位置。 為獲得最佳結果,請在白天於戶外 (非室內) 執行範例應用程式。
此外,如果所在地區不支援 VPS,或 GPS 訊號無法 您可能需要調整應用程式中的可信度門檻 放置錨點
如要調整閾值,請按照下列步驟操作:
在 Xcode 中開啟 ViewController.m 檔案,並瀏覽至 區段:
// 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;
請視需要調整這些值。值越高,準確度就會降低。
降低準確度可讓應用程式在放置錨點時增加緯度。 詳情請見 調整以提高轉換準確度 瞭解詳情
後續步驟
請參閱 iOS 適用的地理空間開發人員指南,並開始使用 Geospatial API 進行建構。