ARCore 中文文档 下载 App

Geospatial API 总览与核心能力

Geospatial API 是什么

ARCore Geospatial API(地理空间 API)是 Google 在 ARCore 体系中推出的"把 AR 内容锚定到真实世界坐标"的能力。与普通 Anchor(锚定到 SLAM 检测到的平面/特征点)不同,Geospatial Anchor 直接锚定到经纬度(WGS84 坐标)和海拔高度——你可以在 Google Street View 覆盖的任何位置放置 AR 内容,用户走到这个位置就能看到。

核心优势:不需要预先建图。传统 AR 共享(如 Cloud Anchors)需要用户先走到某个位置"建立锚点",其他设备再去"解析"。Geospatial API 借助 Google 街景的全球覆盖,让开发者直接把内容关联到任意经纬度,路过的人只需要打开应用就能看到——不需要任何人先做本地扫描。

Geospatial API 的三层架构

设备侧(手机)          云端(Google)          真实世界
─────────────────────────────────────────────────────────
GPS + IMU + 摄像头  →  VPS 匹配  →  经纬度 + 海拔
                              ↓
                       Geospatial Anchor(你的 AR 内容)
层职责技术
设备侧采集 GPS、传感器、摄像头画面Android/iOS 原生
云端 VPS把摄像头画面匹配到 Google 街景的 3D 点云,计算精确位置Google Vision Positioning System
Anchor 层在计算出的精确位置上创建 AnchorWGS84 坐标 + Streetscape 数据

核心能力清单

能力说明适用场景
VPS 全球定位比 GPS 精确得多的视觉定位(亚米级 vs GPS 10-50 米)室外精确定位
Geospatial Anchor直接在经纬度+海拔创建 Anchor把 AR 内容钉在地球上某个点
Streetscape Geometry获取周围建筑和地形的几何数据遮挡渲染、碰撞检测
Geospatial Depth结合 Streetscape 和本地深度传感器的精确深度比 Depth API 更精确的室外深度
Cloud Anchors 与 VPS 结合在 VPS 定位到的位置上托管/解析 Cloud Anchors多人共享但不需要预先本地扫描

覆盖范围与限制

已覆盖国家/地区

Geospatial API 覆盖 Google Street View 已经拍摄过的区域——这意味着全球超过 100 个国家和地区的主要城市和道路都能用。但以下情况有例外:

精度对比

定位方式典型精度适用场景
GPS10 ~ 50 米(室外)大致定位、城市范围
VPS亚米级 ~ 5 米精确到某栋建筑/某个橱窗
SLAM(本地)厘米级(扫描过的区域)室内或局部区域

设备要求

Geospatial API 支持大部分 ARCore 支持的 Android 设备和 iOS 12+。少数老设备或某些低端机型不支持——可以用代码检测:

val geospatialSupported = session.isGeospatialModeSupported(
    Session.Config.GeospatialMode.ENABLED
)

网络要求

Geospatial API 必须有网络连接——VPS 定位需要把摄像头画面发送到 Google 云端匹配街景数据。没有网络时 Geospatial API 会完全无法工作,需要降级到本地 SLAM + 普通 Anchor。

Session 配置启用 Geospatial

val session = Session(context)

// 检查设备支持
if (session.isGeospatialModeSupported(Session.Config.GeospatialMode.ENABLED)) {
    session.configure(
        Session.Config(context).apply {
            setGeospatialMode(Session.Config.GeospatialMode.ENABLED)
        }
    )
}

// 在 iOS 上还需要配置 API Key 和隐私声明

iOS 上的额外配置

iOS 上使用 Geospatial API(或任何需要上传数据到 Google 云端的 API)需要在 Info.plist 中声明:

开发入口

Google 提供了所有主流开发环境的 Geospatial API 支持:

环境指南链接说明
Android (Kotlin/Java)官方 quickstart原生 API
Android NDK (C)官方 quickstart底层 C API
Unity (AR Foundation)官方 guideUnity 封装
iOS官方 quickstartSwift/Objective-C
Unreal Engine官方文档Blueprint / C++

典型应用场景

场景举例Geospatial 价值
地点导航AR 箭头引导用户找车、找商店、找入口GPS 精度不够(会跳),VPS 保证箭头稳定
城市级 AR 游戏在公园放虚拟球靶让玩家打,Pocket Garden 在小区撒虚拟种子多人共享但不需要预先建图,基于 VPS 对齐所有人的视图
品牌营销在某个地点(如演唱会场地、商业街橱窗)放限时 AR 内容任何人走到该地点就能看到,无需用户预先扫描
街景增强让用户对着街景拍照的位置叠加 AR 注释精准锚定历史位置,配合 Streetscape Geometry 做遮挡
建筑可视化让用户站在空地上看到规划中的建筑在真实地形上叠加 3D 模型,用 Streetscape 做遮挡