---
metadata:
  - name: generator
    content: Diplodoc Platform v5.28.0
alternate:
  - en/
  - ru/
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/yandex-apps-launch-maps/doc/ru/llms.txt

# Запуск Яндекс Карт по URL

Мобильное приложение [Яндекс Карты](http://mobile.yandex.ru/apps/maps/) можно запускать из [других приложений](#application) и со [страниц сайтов](#browser). Можно также запускать [веб версию Яндекс Карт](#web), которая не зависит от платформы.

В этом документе описаны способы запуска приложения Яндекс Карты и веб версии Яндекс Карт.


## Запуск мобильного приложения Яндекс Карты из браузера {#browser}

Чтобы дать пользователю возможность запустить приложение Яндекс Карты со страницы, отображаемой в браузере, необходимо сформировать ссылку, соответствующую приложению. Вместо названия сетевого протокола (обычно http или https) в ссылке указывается [URL-схема](https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html), отвечающая за запуск приложения.

За запуск приложения [Яндекс Карты](http://mobile.yandex.ru/apps/maps/) отвечает URL-схема `yandexmaps`. Ссылка, открывающая карту в приложении Яндекс Карты на платформах Android и iOS, будет выглядеть следующим образом.

```html
<a href="yandexmaps://maps.yandex.ru/?ll=37.62,55.75&z=12">Открыть карту
Москвы в приложении Яндекс Карты</a>
```

Список параметров, которые можно указать в URL, приведен в разделах [Запуск iOS‑приложения Яндекс Карты](https://yandex.com/dev/yandex-apps-launch-maps/doc/ru/concepts/yandexmaps-ios-app.md) и [Запуск Android‑приложения Яндекс Карты](https://yandex.com/dev/yandex-apps-launch-maps/doc/ru/concepts/yandexmaps-android-app.md).


{% note info %}

Ссылку можно формировать динамически, в зависимости от платформы. Информацию о платформе можно извлечь из:

- объекта ##[navigator](http://www.w3schools.com/jsref/obj_navigator.asp)##, если ссылка формируется на стороне браузера (клиентский JavaScript);

- HTTP‑заголовков, если ссылка формируется на стороне сервера.

{% endnote %}



## Запуск мобильного приложения Яндекс Карты из нативных приложений {#application}

### Android {#androidapp}

Чтобы запустить приложение Яндекс Карты из Java‑приложения на платформе Android, необходимо создать объект типа ##[Intent](http://developer.android.com/reference/android/content/Intent.html#Intent)##. При создании объекта в конструктор передается действие [ACTION_VIEW](https://developer.android.com/reference/android/content/Intent.html#ACTION_VIEW) (см. [action](http://developer.android.com/guide/topics/manifest/action-element.html)) и URI.

После этого достаточно вызвать метод ##[startActivity](http://developer.android.com/reference/android/content/Context.html#startActivity(android.content.Intent))## класса ##[Context](http://developer.android.com/reference/android/content/Context.html)## и соответствующее действию [Activity](http://developer.android.com/reference/android/app/Activity.html) запустится. Например, чтобы открыть в Яндекс Картах карту с заданными координатами центра и масштабом, нужно добавить в приложение следующий код.

```java
Uri uri = Uri.parse("yandexmaps://maps.yandex.ru/?ll=37.62,55.75&z=12");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
```

Для запуска приложения используется стандартное действие [ACTION_VIEW](https://developer.android.com/reference/android/content/Intent.html#ACTION_VIEW). Координаты центра карты и масштаб указываются в [URI](https://developer.android.com/guide/components/intents-common.html#Maps).

Список возможных параметров приведен в разделе [Запуск Android‑приложения Яндекс Карты](https://yandex.com/dev/yandex-apps-launch-maps/doc/ru/concepts/yandexmaps-android-app.md).

Если запускаемое приложение не установлено на устройстве, вызов метода `startActivity` приведет к остановке приложения. Проверить, установлено ли необходимое приложение, можно с помощью метода ##[queryIntentActivities](http://developer.android.com/reference/android/content/pm/PackageManager.html#queryIntentActivities(android.content.Intent,%20int))## класса ##[PackageManager](http://developer.android.com/reference/android/content/pm/PackageManager.html)##. Если приложение не установлено, можно открыть страницу Яндекс Карт в [Google Play](https://play.google.com).

```java
Uri uri = Uri.parse("yandexmaps://maps.yandex.ru/");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
// Проверяем, установлено ли хотя бы одно приложение, способное выполнить это действие.
PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0);
boolean isIntentSafe = activities.size() > 0;
if (isIntentSafe) {
  startActivity(intent);
} else {
// Открываем страницу приложения Яндекс Карты в Google Play.
  intent = new Intent(Intent.ACTION_VIEW);
  intent.setData(Uri.parse("market://details?id=ru.yandex.yandexmaps"));
  startActivity(intent);
}
```

### iOS {#iosapp}

Для запуска внешних приложений из приложений, разрабатываемых на Objective‑C, предназначен метод ##[openURL:](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006728-CH3-SW14)## класса ##[UIApplication](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication)##. Методу передается URL, содержащий [схему](https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html) запускаемого приложения, и, при необходимости, параметры запуска. Например, чтобы открыть приложение [Яндекс Карты](http://mobile.yandex.ru/apps/maps/) и отобразить карту Москвы, можно воспользоваться следующим кодом.

```objectivec
[[UIApplication sharedApplication] openURL:
 [NSURL URLWithString:@"yandexmaps://maps.yandex.ru/?ll=37.62,55.75&z=12"]];
```

Здесь `yandexmaps` — это название URL‑схемы приложения Яндекс Карты. Список возможных параметров приведен в разделе [Запуск iOS‑приложения Яндекс Карты](https://yandex.com/dev/yandex-apps-launch-maps/doc/ru/concepts/yandexmaps-ios-app.md).

Перед вызовом метода `openURL`: имеет смысл проверить, установлено ли приложение Яндекс Карты на устройстве. Для этого можно воспользоваться методом ##[canOpenURL:](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication/canOpenURL:)##. Если приложение не установлено, можно открыть страницу Яндекс Карт в [App Store](https://itunes.apple.com/ru/genre/mobile-software-applications/id36?mt=8).

```objectivec
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"yandexmaps://"]]) {
   [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"yandexmaps://maps.yandex.ru/?ll=37.62,55.75&z=12"]];
} else {
// Открываем страницу приложения Яндекс Карты в App Store.
   [[UIApplication sharedApplication] openURL:
    [NSURL URLWithString:@"https://itunes.apple.com/ru/app/yandex.maps/id313877526?mt=8"]];
}

```


## Запуск веб-версии Яндекс Карт {#web}

Для запуска веб-версии Яндекс Карт нужно передать в ссылка параметры запроса. Ссылка будет выглядеть следующим образом:

```
<a href="https://yandex.ru/maps/?ll=37.62,55.75&z=12">Открыть карту
        Москвы в веб-версии Яндекс Карт</a>
```

Список доступных параметров доступен в разделе [Web](https://yandex.com/dev/yandex-apps-launch-maps/doc/ru/concepts/yandexmaps-web.md).

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

