Схема URL Google Карт для iOS

На устройствах с iOS 9 и более поздних версий можно использовать универсальные ссылки, чтобы запускать Google Карты с помощью URL.

С помощью схемы URL Google Карт можно запустить приложение "Google Карты" для iOS, выполнить поиск, получить маршрут и посмотреть карту. Когда вы запускаете Google Карты, идентификатор пакета автоматически отправляется в составе запроса.

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

Google Карты для iOS поддерживают универсальные ссылки на устройствах с iOS 9 или более поздней версии.

Если ваш URL соответствует следующему регулярному выражению, а на устройстве установлена iOS 9 или более поздней версии, вы можете использовать метод openURL: напрямую.

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

Пример:

Swift

UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!)

Objective-C

[[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"https://www.google.com/maps/@42.585444,13.007813,6z"]];

Обзор

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

  • comgooglemaps:// – эта схема позволяет запустить приложение "Google Карты" для iOS и выполнить одно из следующих действий:

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

    • Исходный URL может быть для maps.google.com или google.com/maps, или для любого действительного национального домена верхнего уровня вместо com. Вы также можете передавать URL переадресации goo.gl/maps.

Запустить приложение "Google Карты" для iOS и выполнить определенную функцию

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

comgooglemaps://?parameters

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

Проверьте, доступно ли приложение "Google Карты" на устройстве.

Прежде чем показывать пользователю в приложении один из этих 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 Карты" для 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

Как добавить навигацию в приложение

Запустив приложение "Google Карты" для iOS с запросом маршрута, вы предоставите пользователям доступ к пошаговой навигации из вашего приложения. Для этого можно использовать схему URL comgooglemaps://.

Как запустить приложение "Google Карты" для iOS с помощью URL Google Карт для компьютеров

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

  • Замените схему http:// или https:// на comgooglemapsurl://.

Поддерживаемые форматы URL Google Карт

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

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

Как проверить доступность приложения "Google Карты"

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

Swift

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

Objective-C

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

Примеры

Пример общего URL Google Карт:

Исходный 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 Карт:

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

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

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

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