Node の位置情報を取得する:location.get の使い方
デバイスの位置情報を扱う機能を実装しようとすると、OSごとの権限管理の複雑さに直面することがよくあります。フォアグラウンドでは動作するのにバックグラウンドでは動作しない、あるいはユーザーが許可したはずの精度が得られないといった問題は、多くの開発者が経験する共通の悩みです。
OpenClaw では、これらの複雑な OS レベルの挙動を整理し、location.get コマンドを通じて一貫した方法で位置情報にアクセスできるようになっています。
- OpenClaw Node がインストールされたデバイス(iOS, Android, または macOS)
- 各 OS での適切なシステム権限の許可
クイックスタート
Section titled “クイックスタート”Node から位置情報を取得するための最小限の手順は以下の通りです。
1. 共有モードを選択する
Section titled “1. 共有モードを選択する”Node デバイスごとに設定が必要です。デフォルトは Off になっているため、以下のいずれかを選択します。
- While Using: アプリを使用中のみ許可します。
- Always: バックグラウンドでの取得も許可します。
精細な位置情報が必要な場合は、location.preciseEnabled(Precise Location)もオンにします。
2. コマンドを実行する
Section titled “2. コマンドを実行する”node.invoke を使用して location.get を呼び出します。
{ "timeoutMs": 10000, "maxAgeMs": 15000, "desiredAccuracy": "coarse|balanced|precise"}3. レスポンスを確認する
Section titled “3. レスポンスを確認する”成功すると、以下のようなデータが返ってきます。
{ "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"}4. CLI で試す
Section titled “4. CLI で試す”CLI から直接実行して動作を確認することもできます。
openclaw nodes location get --node <id>トラブルシューティング
Section titled “トラブルシューティング”位置情報の取得に失敗する場合、以下のエラーコードを確認してください。
- LOCATION_DISABLED: セレクターが Off に設定されています。
- LOCATION_PERMISSION_REQUIRED: 要求したモードに必要な OS 権限が不足しています。
- LOCATION_BACKGROUND_UNAVAILABLE: アプリがバックグラウンドにありますが、While Using しか許可されていません。
- LOCATION_TIMEOUT: 時間内に位置を特定できませんでした。
- LOCATION_UNAVAILABLE: システムエラー、または位置情報プロバイダーが利用不可です。
OS の制限により、UI で Always を選択しても、OS の設定画面でユーザーが手動で許可をアップグレードする必要がある場合があります。特に Android 10 以降や iOS では、システムプロンプトの指示に従ってください。
設定や実装で困ったときは、AI Setup Assistant に相談してみてください。
次のステップ
Section titled “次のステップ”OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。