Все готово!

Прежде чем приступить к разработке, ознакомьтесь с документацией для разработчиков.

Активация Google Maps SDK for iOS

Чтобы помочь вам освоиться, мы покажем, как выполнить некоторые необходимые действия в консоли разработчика Google:

  1. Создание или выбор проекта
  2. Активация Google Maps SDK for iOS
  3. Создание соответствующих ключей

Схема URL-адресов Google Maps

Схема URL-адресов Google Maps позволяет запускать приложение Google Maps для iOS и выполнять поиск, получать запросы маршрутов и отображать представления карт. При запуске Google Maps идентификатор пакета автоматически отправляется как часть запроса.

Вам не требуется ключ Google API для использования схемы URL-адресов Google Maps.

Обзор

Схема URL-адресов позволяет запускать оригинальные приложения для iOS из другого приложения для iOS или из веб-приложения. В URL можно указать параметры, которые будут передаваться запущенному приложению. Приложение Google Maps для iOS поддерживает следующие схемы URL-адресов:

  • comgooglemaps:// и comgooglemaps-x-callback:// – эти схемы позволяют запускать Google Maps для iOS и выполнять одно из следующих действий.

    • Отображать карты для указанного местоположения с указанным масштабом.
    • Выполнять поиск местоположений или адресов и их отображение на карте.
    • Составлять маршруты из одного местоположения к другому. Маршруты могут прокладываться для четырех способов передвижения: пешком, на автомобиле, на велосипеде или на общественном транспорте.
    • Добавлять навигацию в приложение.
    • В iOS 8 – отправлять обратный вызов после завершения работы приложения, используя comgooglemaps-x-callback://. Во многих случаях обратные вызовы используются, чтобы пользователь вернулся в приложение, которое изначально запустило Google Maps для iOS. Обратите внимание, что в iOS 9 система автоматически предоставляет ссылку "Назад" в левом углу панели состояния.
  • comgooglemapsurl:// - эта схема позволяет запускать приложение Google Maps для iOS, используя URL-адрес, полученный с веб-сайта Google Maps. Это означает, что вы можете предложить своим пользователям эффективный мобильный интерфейс вместо обычной загрузки веб-сайта Google Maps в браузере.

    • Исходный URL-адрес может иметь вид maps.google.com или google.com/maps, либо в нем вместо com может использоваться действительный домен высшего уровня любой страны. Кроме того, также можно использовать URL-адреса для переадресации на goo.gl/maps.
    • Можно отправить обратный вызов с помощью параметров x-source и x-success со схемой URL-адреса comgooglemapsurl://.

Запуск приложения Google Maps для iOS и использование определенной функции

Примечание. Начиная с iOS 9, ваше приложение должно декларировать схемы URL-адресов, которые оно будет открывать. Дополнительную информацию см. на странице Начало работы.

Чтобы запустить приложение Google Maps для iOS и на свой выбор применить одну из поддерживаемых функций, используйте схему URL-адреса в следующем виде:

comgooglemaps://?parameters

или:

comgooglemaps-x-callback://?parameters

Более подробное описание параметров приводится далее в этом документе.

Проверка наличия приложения Google Maps на устройстве

Перед тем, как использовать один из этих URL-адресов в своем приложении, сначала убедитесь, что требуемое приложение установлено. Чтобы проверить доступность схемы URL-адреса, ваше предложение может использовать следующий код:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]];

Например, чтобы отобразить карту Центрального парка в Нью-Йорке, можно использовать следующий код:

Swift

if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {
  UIApplication.shared.openURL(URL(string:
    "comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
  print("Can't use comgooglemaps://");
}

Objective-C

if ([[UIApplication sharedApplication] canOpenURL:
     [NSURL URLWithString:@"comgooglemaps://"]]) {
  [[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
  NSLog(@"Can't use comgooglemaps://");
}

Отображение карты

Используйте схему URL-адреса, чтобы отобразить карту в указанном месте с указанным масштабом. Вы также можете наложить другие представления в верхней части карты или отобразить изображения панорамы просмотра улиц.

Параметры

Все приведенные ниже параметры являются необязательными. Если ни один из параметров не установлен, схема URL-адреса просто запустит приложение Google Maps для iOS.

  • center: это центральная точка области просмотра на карте. Представлена в виде строки значений latitude,longitude с разделением запятой.
  • mapmode: устанавливает тип отображаемой карты. Доступные варианты: standard или streetview. Если это значение не указано, будут использованы текущие параметры приложения.
  • views: включает или отключает определенные представления. Доступные варианты: satellite, traffic или transit. Несколько значений можно разделить запятой. Если параметр указывается без значения, все представления будут очищены.
  • zoom: указывает уровень масштабирования карты.

Ниже приведен пример URL-адреса, в котором отображена карта с центром на г.Нью-Йорк с коэффициенте масштабирования 14 и активным представлением, отображающим сведения о дорожной ситуации:

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

Карта со сведениями о дорожной ситуации в Нью-Йорке

Ниже приведено несколько дополнительных примеров.

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

Поиск

С помощью этой схемы можно отобразить поисковые запросы в пределах указанной области просмотра.

Параметры

Помимо параметров, используемых для отображения карты, функция поиска поддерживает параметр q.

  • q: строка поискового запроса.

В приведенном ниже примере URL-адреса показан поиск пиццерии в районе заданного местоположения:

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

Ближайшая пиццерия

Ниже приведено несколько дополнительных примеров.

comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA&center=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

Отображение маршрутов

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

Параметры

  • saddr: устанавливает начальную точку поиска маршрута. Это могут быть координаты широты и долготы или отформатированный в виде запроса адрес. Если эта строка запроса возвращает несколько результатов, будет выбран первый из них. Если это значение не указано, будет использовано текущее местоположение пользователя.
  • daddr: устанавливает конечную точку поиска маршрута. Имеет такой же формат и функциональность, что и saddr.
  • directionsmode: способ передвижения. Доступные варианты: driving, transit, bicycling или walking.

В примере URL-адреса, приведенном ниже, представлены маршруты с использованием общественного транспорта из офиса Google в Нью-Йорке до аэропорта им. Дж.Кеннеди:

comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

Маршруты на общественном транспорте

Ниже приведено несколько дополнительных примеров.

comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States&center=37.423725,-122.0877&directionsmode=walking&zoom=17

URL-адрес обратного вызова

Если вы хотите указать URL-адрес обратного вызова, вы должны использовать схему URL-адресов comgooglemaps-x-callback://. Эта схема соответствует [спецификации x-callback-url]. Когда эта схема используется для вызова приложения Google Maps для iOS, в нем будет отображаться кнопка в верхней части экрана. Нажатие этой кнопки отправит обратный вызов на указанный вами URL-адрес.

Запросы для comgooglemaps-x-callback:// должны быть в следующем формате:

comgooglemaps-x-callback://?parameters

Параметры

Схема URL-адреса для обратного вызова x-callback поддерживает те же значения, что и схема URL-адреса comgooglemaps://, но со следующими дополнительными параметрами. Оба параметра являются обязательными.

  • x-source – имя приложения, отправляющего запрос обратного вызова x-callback. Предпочтительно использование коротких имен.
  • x-success – URL-адрес для вызова по завершении операции. Часто это будет схема URL-адреса для вашего собственного приложения, что позволяет пользователям возвращаться к исходному приложению.

Обратите внимание, что ваше приложение должно зарегистрировать собственную схему URL-адреса, чтобы оно могло отвечать на URL обратного вызова.

  1. Убедитесь, что ваше приложение зарегистрировало схему URL-адресов, с помощью которой оно может отвечать на запрос обратного вызова.
  2. Передайте метку для кнопки обратного вызова в параметре x-source.
  3. Передайте URL-адрес обратного вызова в параметре x-success.

В приведенном ниже примере показаны запуск приложения Google Maps для iOS и отображение карты с центром на г. Нью-Йорк. В приложении также появится кнопка, обозначенная как "SourceApp". После нажатия кнопки SourceApp приложение Google Maps для iOS отправит обратный вызов для несуществующей схемы URL-адресов sourceapp://?resume=true.

comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
   &x-success=sourceapp://?resume=true
   &x-source=SourceApp

Как и в случае со схемой URL-адреса comgooglemaps://, сначала вам необходимо убедиться, что приложение Google Maps для iOS установлено на устройстве и поддерживает схему URL-адреса обратного вызова x-callback. Чтобы проверить доступность схемы URL-адреса, ваше предложение может использовать следующий код:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemaps-x-callback://"]];

Ниже приведен пример URL-адреса, который позволяет пользователям возвращаться к приложению после поиска десерта.

comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135
   &x-success=sourceapp://?resume=true
   &x-source=Nom+Nom

Добавление навигации в приложение

Запуск приложения Google Maps для iOS с функцией запроса маршрутов – это простой способ обеспечить вашим пользователям доступ к пошаговой навигации с помощью вашего приложения. Вы можете использовать либо схему URL-адреса comgooglemaps://, либо comgooglemaps-x-callback://.

Примечание. В пользовательском интерфейсе пошаговой навигации не будут отображаться кнопки, добавленные с использованием параметра x-source.

В приведенном ниже фрагменте кода показано, как использовать схему comgooglemaps-x-callback://, чтобы запрашивать маршруты, а затем возвращаться в ваше приложение, когда пользователь к этому готов. Этот код выполнит следующие операции:

  1. Проверка доступности схемы URL-адресов comgooglemaps-x-callback://.
  2. Запуск приложения Google Maps для iOS и запрос маршрутов к аэропорту им. Дж. Кеннеди в г. Нью-Йорк. Поле начального адреса будет оставлено пустым, чтобы запросить прокладку маршрутов из текущего местоположения пользователя.
  3. Добавление кнопки с меткой AirApp в приложение Google Maps для iOS. Метка кнопки определяется по параметру x-source.
  4. Вызов несуществующей схемы URL-адресов sourceapp://, когда пользователь нажимает кнопку возврата.

Этот код приведен ниже.

Swift

let testURL = URL(string: "comgooglemaps-x-callback://")!
if UIApplication.shared.canOpenURL(testURL) {
  let directionsRequest = "comgooglemaps-x-callback://" +
    "?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
    "&x-success=sourceapp://?resume=true&x-source=AirApp"

  let directionsURL = URL(string: directionsRequest)!
  UIApplication.shared.openURL(directionsURL)
} else {
  NSLog("Can't use comgooglemaps-x-callback:// on this device.")
}

Objective-C

NSURL *testURL = [NSURL URLWithString:@"comgooglemaps-x-callback://"];
if ([[UIApplication sharedApplication] canOpenURL:testURL]) {
  NSString *directionsRequest = @"comgooglemaps-x-callback://" +
      @"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
      @"&x-success=sourceapp://?resume=true&x-source=AirApp";
  NSURL *directionsURL = [NSURL URLWithString:directionsRequest];
  [[UIApplication sharedApplication] openURL:directionsURL];
} else {
  NSLog(@"Can't use comgooglemaps-x-callback:// on this device.");
}

Запуск приложения Google Maps для iOS с помощью URL-адреса Google Maps

Если у вашего приложения имеется доступ к ранее существовавшему URL-адресу для Google Maps, например, на веб-странице или в какой-либо базе данных, вы можете использовать приведенную ниже схему, чтобы открыть этот URL-адрес в приложении Google Maps для iOS, тем самым предложив пользователям наиболее эффективный интерфейс.

  1. Замените схему http:// или https:// на comgooglemapsurl://.
  2. Если вы хотите использовать обратный вызов, включите параметры x-source и x-success. Эта схема соответствует [спецификации x-callback-url].

Поддерживаемые форматы URL-адреса для Google Maps

Схема comgooglemapsurl:// поддерживает URL-адреса, которые соответствуют приведенному ниже стандартному виду, где {TLD} относится к действительному домену высшего уровня любой страны. Для ясности добавлены переносы строк.

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

Проверка наличия приложения Google Maps

Сначала вам необходимо убедиться, что приложение Google Maps для iOS установлено на устройстве и поддерживает эту схему URL-адреса:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemapsurl://"]];

Примеры

Пример общего URL-адреса для Google Maps:

Исходный URL-адрес для Google Maps:

https://www.google.com/maps/preview/@42.585444,13.007813,6z

Использование схемы URL-адреса:

comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z

Пример общего URL-адреса для Google Maps:

Исходный URL-адрес для Google Maps:

https://maps.google.com/?q=@37.3161,-122.1836

Использование схемы URL-адреса:

comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836

Пример запроса маршрутов к телевизионной башне Токио с использованием обратного вызова x-callback:

Исходный URL-адрес для Google Maps:

http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1

В приведенном ниже примере показаны запуск приложения Google Maps для iOS и отображение карты с маршрутами следования к телевизионной башне Токио, как указано в исходном URL-адресе для Google Maps (см. выше). В приложении также появится кнопка, обозначенная как "SourceApp". После нажатия кнопки SourceApp приложение Google Maps для iOS отправит обратный вызов для несуществующей схемы URL-адресов sourceapp://?resume=true.

comgooglemapsurl://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
    &x-source=SourceApp
    &x-success=sourceapp://?resume=true

Оставить отзыв о...

Текущей странице
Google Maps SDK for iOS
Google Maps SDK for iOS
Нужна помощь? Обратитесь в службу поддержки.