AppSheetのHERE()関数を使うと、位置情報が更新されない・古いまま反映されることがあります。配送・点検・回収運搬など現場を巡回する業務アプリでの実例を交え、公式ドキュメントをもとに原因と確実な取得方法を解説します。
結論:AppSheetのHERE()関数をAppFormulaや初期値に設定するだけでは、フォームを開いた瞬間の位置情報が反映されないことがあります。公式ヘルプによれば、AppFormulaで自動反映する位置情報は「1分に1回ポーリングされた位置」を参照する仕組みで、端末側の位置情報キャッシュが重なると、同期を繰り返しても古い位置のまま切り替わらないという挙動につながります。現場で位置情報の正確さが業務上重要なアプリでは、フォームの「ピン」アイコンをユーザーに都度タップしてもらい、手動でGPSを取得させる設計にするのが最も確実です。
配送、設備点検、清掃、訪問営業、資源の回収運搬など、担当者が複数の現場をルートで巡回するタイプの業務では、「今どの現場にチェックインしたか」を位置情報つきで記録したいというニーズがよくあります。AppSheetでこうしたアプリを作る際、多くの人がまず試すのがHERE()関数です。
実際に、こうした現場巡回型のアプリをAppSheetで構築するプロジェクトに携わった際にも、稼働後の試用期間中に次のようなご指摘をいただいたことがあります。
「フォームを開いた時点の位置が、実際にいる場所と違う」
「位置を同期し直しても、選択される現場が切り替わらない」
いずれもHERE()関数の仕組みと、端末側の位置情報キャッシュが関係している可能性が高い不具合です。
AppSheet公式ヘルプによると、HERE()関数は「端末が報告した現在地(LatLong値)を返す」関数と説明されています。ただし、この値をどう設定に使うかによって挙動が変わります。
AppFormulaにHERE()を設定した場合:エントリを新規作成・編集するたびに位置情報が自動反映されますが、公式ヘルプでは、この自動キャプチャは「1分に1回ポーリングされた位置情報」を参照する仕組みだと説明されています。つまり、フォームを開いた瞬間の最新地点ではなく、直近(最大で約1分前)にAppSheetが取得していた位置が使われる可能性があります。
初期値(Initial Value)にHERE()を設定した場合:新規作成時にのみ反映され、既存レコードを編集しても位置情報は更新されません。
参照:Capture GPS location - AppSheet Help
上記のポーリング挙動に加えて、スマートフォンのOS自体が一定時間、直近の位置情報をキャッシュして再利用する仕組みを持っています。現場では「同期ボタンを何度押しても選択される場所が切り替わらない」という声もありましたが、これはAppSheet側の自動キャプチャが、端末にキャッシュされた古い座標を参照し続けてしまうことが一因と考えられます。原因の切り分けが難しい挙動のため、確実性を優先するなら次に挙げる方法に切り替えるのが得策です。
AppSheet公式ヘルプでは、位置情報の取得方法として自動キャプチャ(AppFormula・初期値でのHERE())とは別に、フォーム上のピンアイコンをユーザーがタップして現在地を取得する「手動キャプチャ」という方法も案内されています。この方法はブラウザのHTML5 Geolocation APIを使って能動的に位置情報を要求するため「最も高い精度(highest accuracy)」を狙う設計になっており、最大30秒かけて誤差10m程度の精度を目指します。
設計としては、LatLong型のカラムをフォームに配置し、AppFormulaや初期値でHERE()を仕込んで自動反映に頼るのではなく、ユーザーに毎回ピンをタップして現在地を取得してもらう運用にするだけです。ひと手間増えますが、「今いる場所」を確実に記録したい業務では、この一手間が集計データの信頼性に直結します。
配送、設備点検、清掃、訪問営業、資源の回収運搬のように、担当者が複数の地点を回りながら記録をつけるタイプの業務アプリでは、位置情報の正確さがそのままデータの信頼性になります。自動キャプチャの「見た目の便利さ」に頼るより、フォームでの手動ピンタップを基本の運用にしておくほうが、結果的にトラブルが少なくなります。あわせて、取得した現在地から最も近い拠点・現場を自動で候補に挙げる設計にしておくと、担当者が一覧から探す手間も減らせます。
AppSheetのHERE()関数は便利な反面、AppFormulaでの自動反映は「直近でポーリングされた位置」を参照する仕組みであり、端末側のキャッシュも重なると、ページを開いた瞬間の位置とズレたり、同期しても切り替わらなかったりすることがあります。現場での位置情報が業務上重要なアプリでは、フォームのピンによる手動キャプチャを基本の運用にするのが確実です。
「現場で使う業務アプリをAppSheetで作りたい」「位置情報まわりの挙動で困っている」という場合は、当社(Kirakuna)にご相談いただければ、業務の流れに合わせて一緒に設計いたします。
※本記事の内容は執筆時点(2026年9月)の情報および実際の開発で得た知見に基づきます。AppSheetの仕様は変更される場合があるため、最新情報は公式ヘルプでご確認ください。