На этой странице представлен пример добавления простой 3D-карты в приложение iOS с помощью Maps 3D SDK для iOS. Инструкции на этой странице предполагают, что вы уже выполнили все шаги на странице настройки и имеете следующее:
- Проект Google Cloud с включенным Maps 3D SDK для iOS
- API-ключ Maps 3D SDK для iOS
- Xcode версии 16.0 или более поздней с добавленным пакетом Maps 3D SDK для iOS.
Дополнительную информацию об этих предварительных условиях см. в разделе Настройка .
Выполните более сложную лабораторную работу .
Дополнительные примеры кода смотрите на GitHub .
Часть 1: Создание простого приложения SwiftUI
- Создайте новое приложение в Xcode.
- В качестве названия продукта укажите
Hello3DWorld
, а идентификатор организации —com.example
. Имя пакета должно бытьcom.example.Hello3DWorld
. - Выберите интерфейс SwiftUI.
- Добавьте библиотеку Maps 3D в своё приложение. Инструкции см. в разделе «Настройка» .
Часть 2: Добавить карту
Откройте файл
ContentView.swift
. Это точка входа и основная навигация вашего приложения.Импортируйте
SwiftUI
и пакетGoogleMaps3D
.Замените весь код внутри объявления body на Map(mode: .hybrid).
Минимальная начальная конфигурация, которую необходимо указать для инициализации
Map
, — этоMapMode
:- .гибрид, или
- .спутник
Ваш файл
ContentView.swift
должен выглядеть так:import SwiftUI import GoogleMaps3D struct ContentView: View { var body: some View { Map(mode: .hybrid) } } #Preview { ContentView() }
Часть 3: Установите свой ключ API.
Ключ API необходимо задать до инициализации карты. Для этого установите
Map.apiKey
в обработчике событийinit()
View
, содержащего карту.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
: высота камеры над уровнем моря.
Если вы не укажете ни один из этих дополнительных параметров, будет использовано значение по умолчанию.
Чтобы на виде с камеры отображалось больше трехмерных данных, задайте начальные параметры для отображения более близкого наклонного вида.
Часть 6: Предварительный просмотр и запуск вашего приложения
Добавить предварительный просмотр Xcode
Предварительный просмотр — это мощная функция XCode, которая позволяет вам видеть и взаимодействовать с вашим приложением без необходимости использования симулятора или внешнего устройства.
Чтобы добавить предварительный просмотр, добавьте блок кода
#Preview {}
за пределы вашей структуры.#Preview { CameraDemo() }
Запустите приложение
Создайте и запустите приложение.
Поздравляю!
Вы успешно добавили 3D-карту в приложение!
Далее вы можете изучить более продвинутые функции Maps 3D SDK для iOS, такие как анимация траектории камеры , 3D-маркеры или полигоны .