---
read_when:
    - Додавання підтримки location на вузлі або UI дозволів
    - Проєктування дозволів location на Android або поведінки у передньому плані
summary: Команда location для вузлів (`location.get`), режими дозволів і поведінка Android у передньому плані
title: Команда location
x-i18n:
    generated_at: "2026-04-23T23:01:06Z"
    model: gpt-5.4
    provider: openai
    source_hash: fcd7ae3bf411be4331d62494a5d5263e8cda345475c5f849913122c029377f06
    source_path: nodes/location-command.md
    workflow: 15
---

## Коротко

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

## Чому селектор (а не просто перемикач)

Дозволи ОС мають кілька рівнів. Ми можемо показати селектор у застосунку, але фактичний дозвіл усе одно визначає ОС.

- iOS/macOS можуть показувати **Під час використання** або **Завжди** у системних запитах/Налаштуваннях.
- Застосунок Android наразі підтримує лише location на передньому плані.
- Точне місцезнаходження — окремий дозвіл (iOS 14+ “Precise”, Android “fine” проти “coarse”).

Селектор в UI керує режимом, який ми запитуємо; фактичний дозвіл зберігається в налаштуваннях ОС.

## Модель налаштувань

Для кожного вузла пристрою:

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

Поведінка UI:

- Вибір `whileUsing` запитує дозвіл на location у передньому плані.
- Якщо ОС відхиляє запитаний рівень, повертаємося до найвищого наданого рівня та показуємо статус.

## Відображення дозволів (`node.permissions`)

Необов’язково. Вузол macOS повідомляє про `location` через карту дозволів; iOS/Android можуть його не вказувати.

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

Викликається через `node.invoke`.

Параметри (рекомендовано):

```json
{
  "timeoutMs": 10000,
  "maxAgeMs": 15000,
  "desiredAccuracy": "coarse|balanced|precise"
}
```

Корисне навантаження відповіді:

```json
{
  "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`: системний збій / немає доступних provider.

## Поведінка у фоновому режимі

- Застосунок Android забороняє `location.get`, коли працює у фоновому режимі.
- Тримайте OpenClaw відкритим, коли запитуєте location на Android.
- На інших платформах вузлів поведінка може відрізнятися.

## Інтеграція моделі/інструментів

- Поверхня інструментів: інструмент `nodes` додає дію `location_get` (потрібен вузол).
- CLI: `openclaw nodes location get --node <id>`.
- Вказівки для агента: викликати лише тоді, коли користувач увімкнув location і розуміє обсяг доступу.

## Текст у UI (рекомендовано)

- Вимкнено: “Надання даних про місцезнаходження вимкнено.”
- Під час використання: “Лише коли OpenClaw відкрито.”
- Точне: “Використовувати точне GPS-місцезнаходження. Вимкніть, щоб ділитися приблизним місцезнаходженням.”

## Пов’язане

- [Розбір location у каналах](/uk/channels/location)
- [Захоплення з камери](/uk/nodes/camera)
- [Режим Talk](/uk/nodes/talk)
