Geolocation APIの基礎
Geolocation APIはブラウザーに現在位置の推定値を求める仕組みです。実際に取得できるかどうかは、ブラウザーと利用者の許可によって決まります。
このページでわかること
- 位置情報オブジェクトに入っている値
- 精度や許可が必ず保証されるわけではない理由
- 位置情報を使えない場合にも役立つ画面の作り方
位置情報を取得する
navigator.geolocation.getCurrentPosition(
(position) => {
const { latitude, longitude, accuracy } = position.coords;
console.log(latitude, longitude, accuracy);
},
(error) => console.warn(error.code, error.message)
);緯度と経度は端末などから計算された推定値です。accuracyは誤差の目安をメートルで表しますが、結果が完全に正確になるという意味ではありません。
許可も機能の一部
位置情報を求める前に、利用者に何が便利になるのかを説明します。拒否・タイムアウト・取得不能は通常の結果なので、発生しても使える画面を用意します。
よくある間違い
- 必要になる前に正確な位置情報を要求しない。
- 理由を説明せず、公開画面に正確な座標を表示しない。
- ブラウザーの結果を本人確認や認証の証拠にしない。
- 場所の手入力など、別の方法も用意する。