> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Команда местоположения

## Кратко

* `location.get` — команда узла (через `node.invoke`).
* По умолчанию отключена.
* В настройках Android-приложения используется селектор: Отключено / При использовании.
* Отдельный переключатель: Точная геолокация.

## Почему селектор (а не просто переключатель)

Разрешения ОС имеют несколько уровней. Мы можем показывать селектор внутри приложения, но фактическое разрешение всё равно определяет ОС.

* iOS/macOS могут показывать **При использовании** или **Всегда** в системных запросах/настройках.
* Android-приложение сейчас поддерживает только геолокацию на переднем плане.
* Точная геолокация — это отдельное разрешение (iOS 14+ «Точная», Android «точная» и «приблизительная»).

Селектор в UI управляет запрашиваемым нами режимом; фактическое разрешение хранится в настройках ОС.

## Модель настроек

Для каждого устройства-узла:

* `location.enabledMode`: `off | whileUsing`
* `location.preciseEnabled`: bool

Поведение UI:

* Выбор `whileUsing` запрашивает разрешение на геолокацию на переднем плане.
* Если ОС отклоняет запрошенный уровень, вернуться к максимальному выданному уровню и показать статус.

## Сопоставление разрешений (node.permissions)

Необязательно. Узел macOS сообщает `location` через карту разрешений; iOS/Android могут не включать его.

## Команда: `location.get`

Вызывается через `node.invoke`.

Параметры (рекомендуемые):

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "timeoutMs": 10000,
  "maxAgeMs": 15000,
  "desiredAccuracy": "coarse|balanced|precise"
}
```

Полезная нагрузка ответа:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "lat": 48.20849,
  "lon": 16.37208,
  "accuracyMeters": 12.5,
  "altitudeMeters": 182.0,
  "speedMps": 0.0,
  "headingDeg": 270.0,
  "timestamp": "2026-01-03T12:34:56.000Z",
  "isPrecise": true,
  "source": "gps|wifi|cell|unknown"
}
```

Ошибки (стабильные коды):

* `LOCATION_DISABLED`: селектор отключён.
* `LOCATION_PERMISSION_REQUIRED`: отсутствует разрешение для запрошенного режима.
* `LOCATION_BACKGROUND_UNAVAILABLE`: приложение находится в фоне, но разрешён только режим «При использовании».
* `LOCATION_TIMEOUT`: не удалось получить координаты вовремя.
* `LOCATION_UNAVAILABLE`: системный сбой / нет поставщиков данных.

## Поведение в фоне

* Android-приложение отклоняет `location.get`, когда находится в фоне.
* Держите OpenClaw открытым при запросе геолокации на Android.
* Другие платформы узлов могут отличаться.

## Интеграция с моделью/инструментами

* Поверхность инструмента: инструмент `nodes` добавляет действие `location_get` (узел обязателен).
* CLI: `openclaw nodes location get --node <id>`.
* Рекомендации для агента: вызывать только если пользователь включил геолокацию и понимает область действия.

## Текст UX (рекомендуемый)

* Отключено: «Передача геолокации отключена.»
* При использовании: «Только когда OpenClaw открыт.»
* Точная: «Использовать точную GPS-геолокацию. Отключите этот параметр, чтобы передавать приблизительную геолокацию.»

## Связанное

* [Разбор геолокации в канале](/ru/channels/location)
* [Съёмка с камеры](/ru/nodes/camera)
* [Режим разговора](/ru/nodes/talk)
