Карты представлены в API классом GMSMapView
, подклассом UIView
. Карта является наиболее важным объектом в Maps SDK для iOS и предоставляет необходимые методы для добавления, удаления и управления другими объектами, такими как маркеры и полилинии.
Введение
Maps SDK для iOS позволяет отображать карту Google в приложении для iOS. Эти карты выглядят так же, как карты, которые вы видите в приложении Google Maps для iOS, и SDK предоставляет многие из тех же функций.
В дополнение к функциям сопоставления API также поддерживает ряд взаимодействий, соответствующих модели пользовательского интерфейса iOS. Например, вы можете настроить взаимодействие с картой, определив респондентов, которые реагируют на жесты пользователя, такие как касание и двойное касание.
Ключевым классом при работе с объектом Map является класс GMSMapView
. GMSMapView
автоматически обрабатывает следующие операции:
- Подключение к сервису Google Maps.
- Загрузка фрагментов карты.
- Отображение плиток на экране устройства.
- Отображение различных элементов управления, таких как панорамирование и масштабирование.
- Реагирование на жесты панорамирования и масштабирования перемещением карты и увеличением или уменьшением масштаба.
- Реагирование на жесты двумя пальцами путем наклона угла обзора карты.
В дополнение к этим автоматическим операциям вы можете управлять поведением и внешним видом карты с помощью свойств и методов, предоставляемых классом GMSMapView
. GMSMapView
позволяет добавлять и удалять маркеры, наложения на землю и полилинии, изменять тип отображаемой карты и управлять тем, что отображается на карте, с помощью класса GMSCameraPosition
.
Создавайте карты с помощью SwiftUI
SwiftUI предлагает дополнительный способ создания пользовательского интерфейса с использованием декларативного подхода. Вы сообщаете SwiftUI, как вы хотите, чтобы ваше представление выглядело вместе со всеми различными состояниями для него, а система сделает все остальное. SwiftUI обрабатывает обновление представления всякий раз, когда базовое состояние изменяется из-за события или действия пользователя.
Maps SDK для iOS построен на основе UIKit
и еще не предоставляет представление, совместимое со SwiftUI. Добавление карт в SwiftUI требует соответствия либо UIViewRepresentable
, либо UIViewControllerRepresentable
. Чтобы узнать больше, см. Codelab , добавляющую карту в приложение iOS с помощью SwiftUI .
Добавление карты
Основные шаги для добавления карты:
Чтобы получить SDK, получить ключ API и добавить необходимые платформы, выполните действия, описанные в разделе:
В
AppDelegate
укажите ключ API для метода классаprovideAPIKey:
вGMSServices
.Создайте или обновите
ViewController
. Если карта будет отображаться, когда этот контроллер представления станет видимым, обязательно создайте его в методеloadView
.Создайте объект
GMSCameraPosition
, указывающий центр и уровень масштабирования карты. Когда вы создаете экземпляр объектаGMSMapView
, вы должны передать объектGMSCameraPosition
в качестве обязательного параметра.Создайте и создайте экземпляр класса
GMSMapView
, используя методGMSMapView
mapWithFrame:
Если эта карта будет использоваться в качестве единственного представления контроллера представления, тогдаCGRectZero
можно использовать в качестве фрейма карты — размер карты будет изменен автоматически.Установите объект
GMSMapView
в качестве представления контроллера представления, напримерself.view = mapView;
.
В приведенном ниже примере в приложение добавляется карта с центром в центре Сингапура.
Быстрый
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) let mapView = GMSMapView(frame: .zero, camera: camera) self.view = mapView } }
Цель-C
#import "MapObjects.h" @import GoogleMaps; @implementation MapObjects - (void)viewDidLoad { [super viewDidLoad]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; self.view = mapView; } @end
Выполнив эти шаги, вы можете продолжить настройку объекта GMSMapView
.
Что дальше
После выполнения этих шагов вы можете настроить параметры карты .