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

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

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

  1. Открыть карту
  2. Поставить метку
  3. Найти объекты
  4. Открыть карточку организации
  5. Показать «Что здесь?»
  6. Построить маршрут
  7. Показать панораму в заданной точке

В разделе Поддержка схемы 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/?{параметры}
Параметр Тип данных Описание
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 можно проверить, установлено ли приложение Яндекс.Карты на устройстве пользователя.