Формат URL

yandexnavi://[<путь>?<параметры>]

Путь

Задача, которую будет выполнять приложение.

Параметры

Данные, которые нужны приложению, чтобы выполнить задачу.

Внимание

Помимо параметров, перечисленных ниже, нужно добавить в URL параметры, идентифицирующие ваше приложение или сайт. Иначе пользователи Яндекс Навигатора версии 2.40 и выше могут столкнуться с ограничениями.

Построить маршрут из точки A в точку Б

Чтобы построить маршрут, укажите в URL начальную и конечную точку маршрута.

yandexnavi://build_route_on_map?lat_from=55.74&lon_from=37.60&lat_to=55.76&lon_to=37.64

Параметр

Тип данных

Описание

lat_from

float

Широта начальной точки маршрута.

lon_from

float

Долгота начальной точки маршрута.

lat_to

float

Широта конечной точки маршрута.

lon_to

float

Долгота конечной точки маршрута.

<a href="yandexnavi://build_route_on_map?lat_from=55.74&lon_from=37.60&lat_to=55.76&lon_to=37.64">Строю маршрут</a>
Uri uri = Uri.parse("yandexnavi://build_route_on_map?lat_from=55.74&lon_from=37.60&lat_to=55.76&lon_to=37.64");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("ru.yandex.yandexnavi");
startActivity(intent);
[[UIApplication sharedApplication] openURL:
 [NSURL URLWithString:@"yandexnavi://build_route_on_map?llat_from=55.74&lon_from=37.60&lat_to=55.76&lon_to=37.64"]];
let url = NSURL(string: "yandexnavi://build_route_on_map?lat_from=55.74&lon_from=37.60&lat_to=55.76&lon_to=37.64")!
UIApplication.sharedApplication().openURL(url)                

Построить маршрут из текущей точки

Чтобы построить маршрут из точки текущего местоположения пользователя, укажите в URL только конечную точку маршрута.

yandexnavi://build_route_on_map?lat_to=55.70&lon_to=37.64

Параметр

Тип данных

Описание

lat_to

float

Широта конечной точки маршрута.

lon_to

float

Долгота конечной точки маршрута.

<a href="yandexnavi://build_route_on_map?lat_to=55.70&lon_to=37.64">Еду домой</a>
Uri uri = Uri.parse("yandexnavi://build_route_on_map?lat_to=55.70&lon_to=37.64");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("ru.yandex.yandexnavi");
startActivity(intent);
[[UIApplication sharedApplication] openURL:
  [NSURL URLWithString:@"yandexnavi://build_route_on_map?lat_to=55.70&lon_to=37.64"]];
let url = NSURL(string: "yandexnavi://build_route_on_map?lat_to=55.70&lon_to=37.64")!
UIApplication.sharedApplication().openURL(url)                

Построить маршрут по нескольким точкам

Чтобы построить составной маршрут, укажите в URL начальную, конечную и промежуточные точки.

yandexnavi://build_route_on_map?lat_from=55.75&lon_from=37.58&lat_to=55.75&lon_to=37.64&lat_via_0=55.75&lon_via_0=37.62

Параметр

Тип данных

Описание

lat_from

float

Широта начальной точки маршрута.

lon_from

float

Долгота начальной точки маршрута.

lat_to

float

Широта конечной точки маршрута.

lon_to

float

Долгота конечной точки маршрута.

lat_via_<номер>

float

Широта промежуточной точки маршрута.

Промежуточных точек на маршруте может быть несколько.

Порядковый номер точки задается целым числом и указывается в названии параметра. Нумерация начинается с нуля. Используйте lat_via_0 для первой промежуточной точки, lat_via_1 для следующей и так далее.

lon_via_<номер>

float

Долгота промежуточной точки маршрута.

Промежуточных точек на маршруте может быть несколько.

Порядковый номер точки задается целым числом и указывается в названии параметра. Нумерация начинается с нуля. Используйте lat_via_0 для первой промежуточной точки, lat_via_1 для следующей и так далее.

<a href="yandexnavi://build_route_on_map?lat_from=55.75&lon_from=37.58&lat_to=55.75&lon_to=37.64&lat_via_0=55.75&lon_via_0=37.62">Сначала за булочкой</a>
Uri uri = Uri.parse("yandexnavi://build_route_on_map?lat_from=55.75&lon_from=37.58&lat_to=55.75&lon_to=37.64&lat_via_0=55.75&lon_via_0=37.62");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("ru.yandex.yandexnavi");
startActivity(intent);
[[UIApplication sharedApplication] openURL:
 [NSURL URLWithString:@"yandexnavi://build_route_on_map?lat_from=55.75&lon_from=37.58&lat_to=55.75&lon_to=37.64&lat_via_0=55.75&lon_via_0=37.62"]];
let url = NSURL(string: "yandexnavi://build_route_on_map?lat_from=55.75&lon_from=37.58&lat_to=55.75&lon_to=37.64&lat_via_0=55.75&lon_via_0=37.62")!
UIApplication.sharedApplication().openURL(url)                

Чтобы найти что-либо на карте, укажите в URL текст поискового запроса.

yandexnavi://map_search?text=заправка

Параметр

Тип данных

Описание

text

string

Текст поискового запроса. Искать можно, например, город, улицу или организацию.

Примечание

Зарезервированные символы (например, «&» или «'») необходимо кодировать. Например, запрос «cash&carry» следует кодировать как «cash%26carry».

<a href="yandexnavi://map_search?text=заправка">Ищу заправку</a>
Uri uri = Uri.parse("yandexnavi://map_search").buildUpon().appendQueryParameter("text", "заправка").build();
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("ru.yandex.yandexnavi");
startActivity(intent);
NSURLComponents *components = [[NSURLComponents alloc] initWithString:@"yandexnavi://map_search"];
[components setQueryItems:@[[[NSURLQueryItem alloc] initWithName:@"text" value:@"заправка"]]];
[[UIApplication sharedApplication] openURL:[components URL]];
var compoments = URLComponents(string: "yandexnavi://map_search")!
compoments.queryItems = [URLQueryItem(name: "text", value: "заправка")]
UIApplication.shared.open(compoments.url!)  

Показать точку на карте

Чтобы показать точку на карте, укажите в URL ее координаты.

yandexnavi://show_point_on_map?lat=55.77&lon=37.44&zoom=12&no-balloon=0&desc=кафе с wi-fi

Параметр

Тип данных

Описание

lat

float

Широта точки. Карта центрируется в указанной точке.

lon

float

Долгота точки. Карта центрируется в указанной точке.

zoom

int

Масштаб карты.

Задается целым числом от 1 до 18, где 1 — наименее подробный масштаб (весь мир), а 18 — наиболее подробный из возможных. Значение умолчанию — 18.

no-balloon

int

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

Если no-balloon=1, метка не отображается.

Если no-balloon=0, метка отображается. Это значение используется по умолчанию.

desc

string

Текст во всплывающем поле. По умолчанию в поле отображается адрес объекта.

Примечание

Зарезервированные символы (например, «&» или «'») необходимо кодировать. Например, запрос «cash&carry» следует кодировать как «cash%26carry».

<a href="yandexnavi://show_point_on_map?lat=55.77&lon=37.44&zoom=12&no-balloon=0&desc=кафе с wi-fi">Знаю кафе, в котором можно поработать</a>
Uri uri = Uri.parse("yandexnavi://show_point_on_map").buildUpon()
    .appendQueryParameter("lat", "55.77")
    .appendQueryParameter("lon", "37.44")
    .appendQueryParameter("zoom", "12")
    .appendQueryParameter("no-balloon", "0")
    .appendQueryParameter("desc", "кафе с wi-fi").build();

Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("ru.yandex.yandexnavi");
startActivity(intent);
NSURLComponents *components = [[NSURLComponents alloc] initWithString:@"yandexnavi://show_point_on_map"];
[components setQueryItems:@[
    [[NSURLQueryItem alloc] initWithName:@"lat" value:@"55.77"],
    [[NSURLQueryItem alloc] initWithName:@"lon" value:@"37.44"],
    [[NSURLQueryItem alloc] initWithName:@"zoom" value:@"12"],
    [[NSURLQueryItem alloc] initWithName:@"no-balloon" value:@"0"],
    [[NSURLQueryItem alloc] initWithName:@"desc" value:@"кафе с wi-fi"]
]];
[[UIApplication sharedApplication] openURL:[components URL]];
var compoments = URLComponents(string: "yandexnavi://show_point_on_map")!
compoments.queryItems = [
    URLQueryItem(name: "lat", value: "55.77"),
    URLQueryItem(name: "lon", value: "37.44"),
    URLQueryItem(name: "zoom", value: "12"),
    URLQueryItem(name: "no-balloon", value: "0"),
    URLQueryItem(name: "desc", value: "кафе с wi-fi")
]
UIApplication.shared.open(compoments.url!)