本页面通过示例介绍了如何使用 Maps 3D SDK for iOS 向 iOS 应用添加基本 3D 地图。本页中的说明假定您已完成设置页面中的步骤,并且具有以下条件:
- 已启用 Maps 3D SDK for iOS 的 Google Cloud 项目
- iOS 版 Maps 3D SDK 的 API 密钥
- 添加了 iOS 版 Maps 3D SDK 软件包的 Xcode 16.0 版或更高版本。
如需详细了解这些前提条件,请参阅设置。
第 1 部分:创建基本 SwiftUI 应用
- 在 Xcode 中创建新应用。
- 将商品名称设置为
Hello3DWorld
,并将组织标识符设置为com.example
。软件包名称应为com.example.Hello3DWorld
。 - 选择 SwiftUI 界面。
- 将 Google 地图 3D 库添加到您的应用。请参阅“设置”部分中的说明。
第 2 部分:添加地图
打开名为
ContentView.swift
的文件。这是应用的入口点和主要导航栏。导入
SwiftUI
和GoogleMaps3D
软件包。将 body 声明中的所有代码替换为 Map(mode: .hybrid)。
若要初始化
Map
,您需要提供的最低初始配置是MapMode
:- .hybrid,或
- .satellite
您的
ContentView.swift
文件应如下所示:import SwiftUI import GoogleMaps3D struct ContentView: View { var body: some View { Map(mode: .hybrid) } } #Preview { ContentView() }
第 3 部分:设置 API 密钥。
必须先设置 API 密钥,然后才能初始化地图。为此,请在包含 Map 的
View
的init()
事件处理脚本中设置Map.apiKey
。import SwiftUI import GoogleMaps3D struct ContentView: View { init () { Map.apiKey = "YOUR_API_KEY" } var body: some View { Map(mode: .hybrid) } }
第 4 部分:使用摄像头控制地图视图
3D 地图视图由 Camera
类控制。在此步骤中,您将学习如何指定位置、海拔、航向、倾斜度、滚动度和范围,以自定义地图视图。
更改
Map()
函数调用以包含initialCamera
属性。初始化initialCamera
以显示曼哈顿市中心的视图。import SwiftUI import GoogleMaps3D struct ContentView: View { init () { Map.apiKey = "YOUR_API_KEY" } var body: some View { Map(initialCamera: .init( latitude: 40.748339, longitude: -73.985912, altitude: 211.1, heading: 52, tilt: 68, range: 1039 ), mode: .hybrid) } }
上面的代码为以下参数设置了值:
heading
:相机朝向的方位角(以度为单位,从北方算起)。tilt
:倾斜角度(以度为单位),其中 0 表示正上方,90 表示水平视图。roll
:绕摄像头垂直平面滚动的角度(以度为单位)。range
:相机与纬度、经度位置之间的距离(以米为单位)altitude
:相机相对于海平面的高度。
如果您未提供任何这些额外参数,系统将使用默认值。
如需让相机视图显示更多 3D 数据,请将初始参数设置为显示更近的倾斜视图。
第 6 部分:预览和运行应用
添加 Xcode 预览
预览是一项强大的 Xcode 功能,可让您查看和与应用互动,而无需使用模拟器或外部设备。
如需添加预览,请在结构体外部添加
#Preview {}
代码块。#Preview { CameraDemo() }
运行应用
构建并运行应用。
恭喜!
您已成功向应用添加 3D 地图!
接下来,您可以探索 iOS 版 Maps 3D SDK 的更高级功能,例如摄像头路径动画、3D 标记或多边形。