Запуск Android‑приложения Яндекс Карты

Информация, приведенная в этом разделе, актуальна для мобильного приложения Яндекс Карты версии 4 и выше.

Мобильные Яндекс Карты для платформы Android можно запустить из Java‑приложения и со страницы, отображаемой в браузере. Для запуска используется URL-схема yandexmaps. При запуске приложение Яндекс Карты может выполнить следующие действия.

В разделе Поддержка схемы geo приведена информация о том, как открыть карту, используя другую URI-схему. При таком способе запуска у пользователя будет возможность выбрать, какое приложение открыть.

Открыть карту

Показать карту можно с помощью URL вида:

yandexmaps://maps.yandex.ru/?{параметры}

Параметр

Тип данных

Описание

ll

float,float

Координаты центра карты (долгота, широта).

z

int

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

spn

float,float

Область показа. Через запятую указывается размер области по долготе и широте (в градусах). Например, чтобы задать область показа шириной 10,5 градусов, нужно указать: spn=10.5,10.5.

Центр области показа задается с помощью параметра ll (центр карты).

Если уже задан параметр z (масштаб), то spn игнорируется.

l

string

Тип карты и информация о пробках.

Тип карты: map (схема), sat (спутник), skl (гибрид), pmap (народная карта).

Показать загруженность магистралей: trf (слой «пробки»). Можно указать только слой пробок или комбинировать этот слой и тип карты. В этом случае значения параметра указываются через запятую. Например: l=map,trf.

Примечание

Если параметры карты в URL не переданы, будут использоваться параметры предыдущей пользовательской сессии.

Пример URL:

yandexmaps://maps.yandex.ru/?ll=37.619902,55.753716&z=11&l=map

Пример HTML‑ссылки:

<a href="yandexmaps://maps.yandex.ru/?ll=37.619902,55.753716&z=11&l=map">Карта Москвы</a>

Пример Java вызова:

Uri uri = Uri.parse("yandexmaps://maps.yandex.ru/?ll=37.619902,55.753716&z=11&l=map");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Поставить метку

Показать карту с меткой можно с помощью URL вида:

yandexmaps://maps.yandex.ru/?{параметры}

Параметр

Тип данных

Описание

pt

float,float

Координаты метки (долгота, широта).

Если параметр ll (центр карты) не задан, карта центрируется в точке, указанной в pt.

Пример URL:

yandexmaps://maps.yandex.ru/?pt=37.673098,55.757134&z=12&l=map

Пример HTML‑ссылки:

<a href="yandexmaps://maps.yandex.ru/?pt=37.673098,55.757134&z=12&l=map">Метка</a>

Пример Java вызова:

Uri uri = Uri.parse("yandexmaps://maps.yandex.ru/?pt=37.673098,55.757134&z=12&l=map");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Показать объекты, расположенные в заданной области карты, можно с помощью URL вида:

yandexmaps://maps.yandex.ru/?{параметры}

Параметр

Тип данных

Описание

text

string

Текст поискового запроса.

Чтобы задать область поиска, укажите центр карты ll и уровень масштабирования или область показа. Если область поиска не задана, будут использоваться параметры предыдущей пользовательской сессии.

Пример URL:

yandexmaps://maps.yandex.ru/?ll=37.619902,55.753716&z=16&text=кафе%20с%20wi-fi

Пример HTML‑ссылки:

<a href="yandexmaps://maps.yandex.ru/?ll=37.619902,55.753716&z=16&text=кафе%20с%20wi-fi">Нашлось</a>

Пример Java вызова:

Uri uri = Uri.parse("yandexmaps://maps.yandex.ru/?ll=37.619902,55.753716&z=16&text=кафе%20с%20wi-fi");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Открыть карточку организации

Показать карточку организации можно с помощью URL вида:

yandexmaps://maps.yandex.ru/?{параметры}

Параметр

Тип данных

Описание

oid

int

Уникальный идентификатор организации в приложении Яндекс Карты.

Совет

Чтобы узнать идентификатор организации, откройте в мобильном приложении карточку организации и нажмите на значок в правом верхнем углу экрана. Сформированная ссылка будет содержать идентификатор.

Пример URL:

yandexmaps://maps.yandex.ru/?oid=1221676748

Пример HTML‑ссылки:

<a href="yandexmaps://maps.yandex.ru/?oid=1221676748">Музей</a>

Пример Java вызова:

Uri uri = Uri.parse("yandexmaps://maps.yandex.ru/?oid=1221676748");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Показать «Что здесь?»

Чтобы открыть карточку объекта, находящегося в заданной точке, используйте URL вида:

yandexmaps://?{параметры}

Параметр

Тип данных

Описание

whatshere[point]

float,float

Координаты объекта.

Объектом может быть, например, улица, остановка общественного транспорта, организация.

whatshere[zoom]

float,float

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

Пример URL:

yandexmaps://?whatshere[point]=37.444075,55.776788&whatshere[zoom]=17

Пример HTML‑ссылки:

<a href="yandexmaps://?whatshere[point]=37.444075,55.776788&whatshere[zoom]=17">Мост</a>

Пример Java вызова:

Uri uri = Uri.parse("yandexmaps://?whatshere[point]=37.444075,55.776788&whatshere[zoom]=17");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Построить маршрут

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

yandexmaps://maps.yandex.ru/?{параметры}

Параметр

Тип данных

Описание

rtext

float,float~float,float

Координаты начальной и конечной точки маршрута (широта, долгота).

rtt

string

Тип маршрута: auto (автомобильный маршрут), mt (общественный транспорт), pd (пешеходный маршрут). Например, если параметр rtt=mt, то строится маршрут с использованием общественного транспорта.

Примечание

Если тип маршрута не задан, используется значение, заданное в предыдущей пользовательской сессии. Если этих данных нет, по умолчанию строится автомобильный маршрут.

Тип карты в URL передать нельзя, параметры карты остаются такими же, как в предыдущей пользовательской сессии.

Пример URL:

yandexmaps://maps.yandex.ru/?rtext=55.745719,37.604337~55.76009,37.648801&rtt=mt

Пример HTML‑ссылки:

<a href="yandexmaps://maps.yandex.ru/?rtext=55.745719,37.604337~55.76009,37.648801&rtt=mt">Как добраться</a>

Пример Java вызова:

Uri uri = Uri.parse("yandexmaps://maps.yandex.ru/?rtext=55.745719,37.604337~55.76009,37.648801&rtt=mt");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Показать панораму в заданной точке

Показать панорамный вид в заданной точке можно с помощью URL вида:

yandexmaps://?{параметры}

Параметр

Тип данных

Описание

panorama[point]

float,float

Координаты точки, в которой показывается панорама (долгота, широта).

panorama[direction]

float,float

Направление взгляда.

Задается в градусах, в формате [азимут направления,угол подъема над линией горизонта].

Допустимые значения: от 0 до 360 градусов.

panorama[span]

float,float

Размер поля обзора.

Задается в градусах, в формате [горизонтальный размер, вертикальный размер].

Пример URL:

yandexmaps://?panorama[point]==37.444075,55.776788&panorama[direction]==228.970000,6.060547&panorama[span]==130.000000,71.919192

Пример HTML‑ссылки:

<a href="yandexmaps://?panorama[point]==37.444075,55.776788&panorama[direction]==228.970000,6.060547&panorama[span]==130.000000,71.919192">Мост</a>

Пример Java вызова:

Uri uri = Uri.parse("yandexmaps://?panorama[point]==37.444075,55.776788&panorama[direction]==228.970000,6.060547&panorama[span]==130.000000,71.919192");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Поддержка схемы geo

Приложение Яндекс Карты поддерживает схему geo. Эту схему поддерживают и другие Android‑приложения. Следующий пример демонстрирует, как открыть карту Сиэтла.

Координаты центра карты и масштаб указываются в URI.

// Открываем карту Сиэтла.
Uri uri = Uri.parse("geo:47.6,-122.3?z=11");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Если на мобильном устройстве пользователя установлено несколько подходящих приложений, пользователю будет предложено выбрать, в каком из них открыть карту.

Совет

Перед вызовом метода startActivity можно проверить, установлено ли приложение Яндекс Карты на устройстве пользователя.

Следующая