Skip to content

Интеграция с Яндекс.Навигатором

iT0ny edited this page Dec 3, 2012 · 3 revisions

Навигатор можно запустить через открытие URL специального вида из внешнего приложения, для выполнения следующих действий:

  • Построить маршрут
  • Показать точку

Построение маршрутов

URL:

yandexnavi://build_route_on_map?lat_to=...&lon_to=...[&lat_from=...][&lon_from=...]

Параметры:

lat_from:float - широта начальной точки (необязательный)
lon_from:float - долгота начальной точки (необязательный)
lat_to:float - широта конечной точки
lon_to:float - долгота конечной точки

Описание:

Отрывает Навигатор и запрашивает маршрут между указанными двумя точками (Если начальная точка не указана, маршрут будет построен от местоположения пользователя).

Пример:

yandexnavi://build_route_on_map?lat_from=55.751802&lon_from=37.586684&lat_to=55.758192&lon_to=37.642817

Показ точек

URL:

yandexnavi://show_point_on_map?lat=...&lon=...&zoom=...[&desc=...][&no-balloon=...]

Параметры:

lat:float - широта
lon:float - долгота
zoom:int - масштаб карты, [0-23]
desc:string – описание в балуне для точки (необязательный)
no-balloon:int – если true, то при открытии карт балун не будет сразу показан для данной точки (необязательный)

Описание:

Открывает Навигатор и центрирует карту на указанной точке и указанном масштабе. Точка отмечается пином с опциональным балуном.

Пример:

yandexnavi://show_point_on_map?lat=55.758192&lon=37.642817&zoom=14&no-balloon=1

Пример использования

NSURL* naviURL = [NSURL URLWithString:@"yandexnavi://build_route_on_map?lat_from=55.751802&lon_from=37.586684&lat_to=55.758192&lon_to=37.642817"];

if ([[UIApplication sharedApplication] canOpenURL:naviURL]) {
    // Если Навигатор установлен - открываем его
    [[UIApplication sharedApplication] openURL:naviURL];
} else {
    // Если не установлен - открываем страницу в App Store
    NSURL* appStoreURL = [NSURL URLWithString:@"https://itunes.apple.com/ru/app/yandeks.navigator/id474500851?mt=8"];
    [[UIApplication sharedApplication] openURL:appStoreURL];
}