Добавить карту с маркером
В этом руководстве показано, как добавить карту Google с маркером в ваше iOS-приложение. Оно подойдет пользователям с начальным или средним уровнем знаний Swift или Objective-C, а также с общими знаниями Xcode. Для получения более подробной информации о создании карт ознакомьтесь с руководством для разработчиков.
В этом руководстве вы создадите следующую карту. Маркер расположен в Сиднее, Австралия.

Получите код
Клонируйте или загрузите репозиторий с примерами Google Maps для iOS на GitHub.
Или же нажмите следующую кнопку, чтобы загрузить исходный код:
Быстрый
import UIKit import GoogleMaps class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: self.view.frame, camera: camera) self.view.addSubview(mapView) // Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView } }
Objective-C
#import "ViewController.h" #import <GoogleMaps/GoogleMaps.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6]; GMSMapView *mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera]; mapView.myLocationEnabled = YES; [self.view addSubview:mapView]; // Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView; } @end
Начать
Swift Package Manager
SDK для работы с картами на iOS можно установить с помощью Swift Package Manager .
- Удалите все существующие зависимости Maps SDK для iOS.
- Откройте окно терминала и перейдите в каталог
tutorials/map-with-marker. - Закройте рабочую область Xcode и выполните следующие команды:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all rm Podfile rm map-with-marker.xcworkspace
- Откройте свой проект Xcode и удалите файл podfile.
- Перейдите в меню Файл > Добавить зависимости пакета .
- Введите в качестве URL-адреса https://github.com/googlemaps/ios-maps-sdk , нажмите Enter , чтобы загрузить пакет, и нажмите «Добавить пакет» .
- Возможно, вам потребуется сбросить кэш пакетов, используя меню Файл > Пакеты > Сбросить кэш пакетов .
Используйте CocoaPods
- Загрузите и установите Xcode версии 26.0 или более поздней.
- Если у вас еще нет CocoaPods , установите его на macOS, выполнив следующую команду в терминале:
sudo gem install cocoapods
- Перейдите в каталог
tutorials/map-with-marker. - Выполните команду
pod install. Это установит указанный вPodfileSDK для работы с картами , а также все необходимые зависимости. - Запустите команду
pod outdated, чтобы сравнить установленную версию Pod с любыми новыми обновлениями. Если обнаружена новая версия, запуститеpod update, чтобы обновитьPodfileи установить последнюю версию SDK. Для получения более подробной информации см. руководство по CocoaPods . - Чтобы открыть файл map-with-marker.xcworkspace проекта в Xcode, откройте его (дважды щелкните). Для открытия проекта необходимо использовать именно файл
.xcworkspace.
Получите ключ API и активируйте необходимые API.
Для выполнения этого руководства вам потребуется ключ Google API, авторизованный для использования Maps SDK для iOS. Нажмите на следующую кнопку, чтобы получить ключ и активировать API.
НачатьДля получения более подробной информации см. раздел «Получение ключа API» .
Добавьте ключ API в ваше приложение.
Добавьте свой API-ключ в файл AppDelegate.swift следующим образом:
- Обратите внимание, что в файл добавлено следующее оператор импорта:
import GoogleMaps
- Отредактируйте следующую строку в методе
application(_:didFinishLaunchingWithOptions:), заменив YOUR_API_KEY на ваш API-ключ:GMSServices.provideAPIKey("YOUR_API_KEY")
Создайте и запустите свое приложение.
- Подключите устройство iOS к компьютеру или выберите симулятор в меню схемы Xcode.
- Если вы используете устройство, убедитесь, что службы определения местоположения включены. Если вы используете симулятор, выберите местоположение в меню «Функции» .
- В Xcode щелкните пункт меню Product/Run (или значок кнопки воспроизведения).
- Xcode собирает приложение, а затем запускает его на устройстве или в симуляторе.
- Вы должны увидеть карту с отметкой, расположенной в центре Сиднея на восточном побережье Австралии, похожую на изображение на этой странице.
Поиск неисправностей:
- Если вы не видите карту, убедитесь, что вы получили ключ API и добавили его в приложение, как описано ранее . Проверьте консоль отладки Xcode на наличие сообщений об ошибках, связанных с ключом API.
- Если вы ограничили доступ к ключу API идентификатором пакета iOS, отредактируйте ключ, добавив идентификатор пакета для приложения:
com.google.examples.map-with-marker. - Убедитесь, что у вас хорошее Wi-Fi-соединение или GPS-навигатор.
- Используйте инструменты отладки Xcode для просмотра логов и отладки приложения.
Разберитесь в коде.
- Создайте карту и установите её в качестве представления в
viewDidLoad().Быстрый
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) view = mapView
Objective-C
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6.0]; GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera]; self.view = mapView;
- Добавьте маркер на карту в
viewDidLoad().Быстрый
// Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView
Objective-C
// Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView;
По умолчанию SDK Maps для iOS отображает содержимое информационного окна при касании пользователем маркера. Нет необходимости добавлять обработчик клика для маркера, если вас устраивает поведение по умолчанию.
Поздравляем! Вы создали iOS-приложение, отображающее карту Google с маркером, указывающим на определенное местоположение. Вы также научились использовать SDK для карт iOS .
Следующие шаги
Узнайте больше об объекте «Карта» и о том, что можно делать с маркерами .