На устройствах под управлением iOS 9 и более поздних версий вы можете использовать универсальные ссылки для запуска Google Maps при наличии URL-адреса Google Maps.
Вы можете использовать URL-схему Google Карт для запуска приложения Google Карт для iOS , а также выполнять поиск, получать запросы маршрутов и отображать виды карты. При запуске Google Карт ваш идентификатор пакета автоматически отправляется вместе с запросом.
Для использования схемы URL-адресов Google Maps ключ API Google не нужен.
Универсальные ссылки и Google Карты
Google Maps для iOS поддерживает универсальные ссылки на устройствах под управлением iOS 9 и более поздних версий.
Если ваш URL-адрес соответствует следующему регулярному выражению и устройство работает под управлением iOS 9 или более поздней версии, вы можете рассмотреть возможность использования метода openURL: напрямую.
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Например,
Быстрый
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 Maps для iOS и выполнить одно из нескольких действий:- Отобразить карту в указанном месте и с указанным уровнем масштабирования.
- Найдите нужные места или локации и отобразите их на карте.
- Запросите маршрут из одного места в другое. Маршруты можно получить для четырёх видов транспорта: автомобиль, пешком, на велосипеде и общественный транспорт.
- Добавьте навигацию в ваше приложение.
comgooglemapsurl://
— эта схема позволяет запускать приложение Google Карт для iOS, используя URL-адрес, полученный с сайта Google Карт для ПК. Это означает, что вы можете предоставить своим пользователям мобильный интерфейс, не загружая сайт Google Карт.- Исходный URL может быть
maps.google.com
,google.com/maps
, или использовать любой допустимый домен верхнего уровня страны вместоcom
. Вы также можете использовать URL-адреса перенаправленияgoo.gl/maps
.
- Исходный URL может быть
Запустите приложение Google Maps для iOS и выполните определенную функцию.
Чтобы запустить приложение Google Maps для iOS и при необходимости выполнить одну из поддерживаемых функций, используйте схему URL следующего вида:
comgooglemaps://?parameters
Параметры подробно описаны далее в этом документе.
Проверьте наличие приложения Google Maps на устройстве.
Прежде чем отображать один из этих URL-адресов пользователю в вашем приложении, убедитесь, что приложение установлено. Приложение может проверить доступность URL-схемы с помощью следующего кода:
Быстрый
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]];
Например, чтобы отобразить карту Центрального парка в Нью-Йорке, вы можете использовать следующий код:
Быстрый
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-схему для отображения карты с заданным уровнем масштабирования и местоположением. Вы также можете накладывать другие виды поверх карты или отображать изображения Street View.
Параметры
Все следующие параметры необязательны. Если параметры не заданы, схема 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¢er=37.759748,-122.427135
Вот еще несколько примеров:
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=35.660888,139.73073&zoom=15&views=transit
Показать направления
Используйте эту схему для запроса и отображения маршрутов между двумя точками. Вы также можете указать вид транспорта.
Параметры
-
saddr
: Задаёт начальную точку для поиска маршрутов. Это может быть широта, долгота или адрес в формате запроса. Если строка запроса возвращает более одного результата, будет выбран первый результат. Если значение оставить пустым, будет использовано текущее местоположение пользователя. -
daddr
: Задаёт конечную точку для поиска маршрутов. Имеет тот же формат и поведение, что иsaddr
. -
directionsmode
: Способ передвижения. Можно выбрать:driving
,transit
,bicycling
илиwalking
.
В примере URL-адреса отображаются маршруты общественного транспорта между Google NYC и аэропортом имени Джона Кеннеди:
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¢er=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¢er=37.423725,-122.0877&directionsmode=walking&zoom=17
Добавьте навигацию в ваше приложение
Запуск приложения Google Карт для iOS с запросом маршрута предоставляет вашим пользователям доступ к пошаговой навигации из вашего приложения. Вы можете использовать URL-адрес вида comgooglemaps://
.
Запустите приложение Google Maps для iOS с URL-адреса Google Maps на компьютере.
Если ваше приложение имеет доступ к уже существующему URL-адресу Google Maps, например, на веб-странице или в базе данных, вы можете использовать эту схему для открытия URL-адреса в приложении Google Maps для iOS, тем самым предлагая вашим пользователям наилучший мобильный опыт.
- Замените схему
http://
илиhttps://
наcomgooglemapsurl://
.
Поддерживаемые форматы URL-адресов Google Maps
Схема comgooglemapsurl://
поддерживает URL-адреса, соответствующие этому регулярному выражению, где {TLD}
обозначает любой допустимый домен верхнего уровня страны. Разрывы строк добавлены для ясности:
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Проверьте доступность приложения Google Maps
Сначала убедитесь, что приложение Google Maps для iOS доступно на устройстве и поддерживает схему URL:
Быстрый
UIApplication.shared.canOpenURL(URL(string:"comgooglemapsurl://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemapsurl://"]];
Примеры
Пример универсального URL-адреса Google Maps:
Исходный URL-адрес Google Карт:
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 Карт:
https://maps.google.com/?q=@37.3161,-122.1836
Используя схему URL:
comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836