Формат 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
Параметр |
Тип данных |
Описание |
|
float |
Широта начальной точки маршрута. |
|
float |
Долгота начальной точки маршрута. |
|
float |
Широта конечной точки маршрута. |
|
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
Параметр |
Тип данных |
Описание |
|
float |
Широта конечной точки маршрута. |
|
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
Параметр |
Тип данных |
Описание |
|
float |
Широта начальной точки маршрута. |
|
float |
Долгота начальной точки маршрута. |
|
float |
Широта конечной точки маршрута. |
|
float |
Долгота конечной точки маршрута. |
|
float |
Широта промежуточной точки маршрута. Промежуточных точек на маршруте может быть несколько. Порядковый номер точки задается целым числом и указывается в названии параметра. Нумерация начинается с нуля. Используйте |
|
float |
Долгота промежуточной точки маршрута. Промежуточных точек на маршруте может быть несколько. Порядковый номер точки задается целым числом и указывается в названии параметра. Нумерация начинается с нуля. Используйте |
<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=заправка
Параметр |
Тип данных |
Описание |
|
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
Параметр |
Тип данных |
Описание |
|
float |
Широта точки. Карта центрируется в указанной точке. |
|
float |
Долгота точки. Карта центрируется в указанной точке. |
|
int |
Масштаб карты. Задается целым числом от 1 до 18, где 1 — наименее подробный масштаб (весь мир), а 18 — наиболее подробный из возможных. Значение умолчанию — |
|
int |
Скрыть метку. По умолчанию точка обозначается меткой, но метку можно не показывать. Если Если |
|
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!)
Задача, которую будет выполнять приложение.
Данные, которые нужны приложению, чтобы выполнить задачу.
Тип данных
float
Описание
Широта начальной точки маршрута.
Тип данных
float
Описание
Долгота начальной точки маршрута.
Тип данных
float
Описание
Широта конечной точки маршрута.
Тип данных
float
Описание
Долгота конечной точки маршрута.
Тип данных
float
Описание
Широта промежуточной точки маршрута.
Промежуточных точек на маршруте может быть несколько.
Порядковый номер точки задается целым числом и указывается в названии параметра. Нумерация начинается с нуля. Используйте lat_via_0 для первой промежуточной точки, lat_via_1 для следующей и так далее.
Тип данных
float
Описание
Долгота промежуточной точки маршрута.
Промежуточных точек на маршруте может быть несколько.
Порядковый номер точки задается целым числом и указывается в названии параметра. Нумерация начинается с нуля. Используйте lat_via_0 для первой промежуточной точки, lat_via_1 для следующей и так далее.
Текст поискового запроса. Искать можно, например, город, улицу или организацию.
Примечание
Зарезервированные символы (например, «&» или «'») необходимо кодировать. Например, запрос «cash&carry» следует кодировать как «cash%26carry».
Тип данных
float
Описание
Широта точки. Карта центрируется в указанной точке.
Тип данных
float
Описание
Долгота точки. Карта центрируется в указанной точке.
Тип данных
int
Описание
Масштаб карты.
Задается целым числом от 1 до 18, где 1 — наименее подробный масштаб (весь мир), а 18 — наиболее подробный из возможных. Значение умолчанию — 18
.
Тип данных
int
Описание
Скрыть метку. По умолчанию точка обозначается меткой, но метку можно не показывать.
Если no-balloon=1
, метка не отображается.
Если no-balloon=0
, метка отображается. Это значение используется по умолчанию.
Тип данных
string
Описание
Текст во всплывающем поле. По умолчанию в поле отображается адрес объекта.
Примечание
Зарезервированные символы (например, «&» или «'») необходимо кодировать. Например, запрос «cash&carry» следует кодировать как «cash%26carry».