Добавление карты с маркером

Из этого туториала вы узнаете, как добавить карту Google в приложение iOS. На карте имеется маркер, также называемый булавкой, для обозначения конкретного местоположения.

Получение кода

Клонируйте или загрузите репозиторий образцов Google Maps для iOS с GitHub.

Настройка вашего проекта разработки

Выполните следующие действия, чтобы установить Maps SDK для iOS:

  1. Загрузите и установите Xcode версии 14.0 или новее.
  2. Если у вас еще нет CocoaPods , установите его в macOS, выполнив следующую команду из терминала:
    sudo gem install cocoapods
  3. Клонируйте или загрузите репозиторий образцов Google Maps для iOS .
  4. Перейдите в каталог tutorials/map-with-marker .
  5. Запустите команду pod install . При этом будут установлены API, указанные в Podfile , вместе со всеми зависимостями, которые они могут иметь.
  6. Запустите pod outdated , чтобы сравнить установленную версию модуля с новыми обновлениями. Если обнаружена новая версия, запустите pod update , чтобы обновить Podfile и установить последнюю версию SDK. Более подробную информацию можно найти в Руководстве по CocoaPods .
  7. Откройте (дважды щелкните) файл карты с маркером.xcworkspace проекта, чтобы открыть его в Xcode. Чтобы открыть проект, необходимо использовать файл .xcworkspace .

Получение ключа API и включение необходимых API

Для работы с этим руководством вам понадобится ключ Google API, авторизованный для использования Maps SDK для iOS. Нажмите кнопку ниже, чтобы получить ключ и активировать API.

Начать

Дополнительные сведения см. в разделе Получение ключа API .

Добавьте ключ API в свое приложение

Добавьте свой ключ API в AppDelegate.swift следующим образом:

  1. Обратите внимание, что в файл добавлен следующий оператор импорта:
    import GoogleMaps
  2. Отредактируйте следующую строку в application(_:didFinishLaunchingWithOptions:) , заменив YOUR_API_KEY своим ключом API:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Создание и запуск вашего приложения

  1. Подключите устройство iOS к компьютеру или выберите симулятор во всплывающем меню схемы Xcode.
  2. Если вы используете устройство, убедитесь, что службы определения местоположения включены. Если вы используете симулятор, выберите местоположение в меню «Функции» .
  3. В Xcode щелкните пункт меню «Продукт/Выполнить» (или значок кнопки воспроизведения).
    • Xcode создает приложение, а затем запускает его на устройстве или в симуляторе.
    • Вы должны увидеть карту с маркером в центре Сиднея на восточном побережье Австралии, похожую на изображение на этой странице.

Поиск неисправностей:

  • Если вы не видите карту, убедитесь, что вы получили ключ API и добавили его в приложение, как описано выше . Проверьте консоль отладки Xcode на наличие сообщений об ошибках, связанных с ключом API.
  • Если вы ограничили ключ API идентификатором пакета iOS, отредактируйте ключ, добавив идентификатор пакета для приложения: com.google.examples.map-with-marker .
  • Убедитесь, что у вас хорошее соединение Wi-Fi или GPS.
  • Используйте инструменты отладки Xcode для просмотра журналов и отладки приложения.

Понимание кода

  1. Создайте карту и установите ее в качестве представления в loadView() .

    Быстрый

    // 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
          

    Цель-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;
          
  2. Добавьте маркер на карту в loadView() .

    Быстрый

    // 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
          

    Цель-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;
          

По умолчанию Maps SDK для iOS отображает содержимое информационного окна, когда пользователь касается маркера. Нет необходимости добавлять прослушиватель кликов для маркера, если вы готовы использовать поведение по умолчанию.

Поздравляем! Вы создали приложение для iOS, которое отображает карту Google с маркером, указывающим определенное местоположение. Вы также узнали, как использовать Maps SDK для iOS .

Следующие шаги

Узнайте больше об объекте карты и о том, что можно делать с маркерами .