位置情報 API
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
位置情報 API (Geolocation API) を使用すると、ユーザーが望む場合に、自分の位置情報をウェブアプリケーションに提供することができます。プライバシー上の理由から、ユーザーは位置情報を報告する許可を求められます。
WebExtension で Geolocation オブジェクトを使用するには、マニフェストに "geolocation" パーミッションを追加しなければなりません。ユーザーのオペレーティングシステムは、最初に要求されたときに位置情報へのアクセスを許可するようにユーザーに促します。
概念と使用方法
ウェブアプリでユーザーの位置情報を取得したいと思うことはよくあります。例えば、ユーザーの位置を地図上にプロットしたり、ユーザーの位置に関連するパーソナライズされた情報を表示したりすることができます。
位置情報 APIは navigator.geolocation への呼び出しを介してアクセスします。これにより、ブラウザーはユーザーに自分の位置情報にアクセスする許可を要求します。ユーザーが許可すると、ブラウザーは端末上で利用可能な最良の機能(GPS など)を使用してこの情報にアクセスします。
開発者は、いくつかの異なる方法でこの位置情報にアクセスできるようになりました。
Geolocation.getCurrentPosition(): 端末の現在の位置を受け取ります。Geolocation.watchPosition(): 端末の位置が変化するごとに自動的に呼び出され、更新された位置情報を返すハンドラー関数を登録します。
どちらの場合も、メソッド呼び出しには最大 3 つの引数を取ります。
- 成功コールバック(必須): 位置情報の取得に成功した場合、このコールバックが
GeolocationPositionオブジェクトを唯一の引数として実行され、位置情報へのアクセスを提供します。 - エラーコールバック(オプション): 位置情報の検索に失敗した場合、このコールバックが
GeolocationPositionErrorオブジェクトを唯一の引数として実行され、何が問題となったかに関するアクセス情報を提供します。 - 位置データを取得するためのオプションを提供するオプションのオブジェクト。
位置情報の使用に関するさらなる情報は、位置情報 API の使用を参照してください。
インターフェイス
Geolocation-
この API のメインクラスです。ユーザーの現在位置の取得、位置の変化の監視、および以前に設定した管理のクリアを行うメソッドが含まれています。
GeolocationPosition-
ユーザーの位置を表します。
GeolocationPositionインスタンスは、Geolocationに含まれるメソッドのいずれかの呼び出しが成功した場合に、成功コールバックの内部で返され、タイムスタンプとGeolocationCoordinatesオブジェクトのインスタンスが含まれます。 GeolocationCoordinates-
ユーザーの位置の座標を表します。
GeolocationCoordinatesのインスタンスには、緯度、経度、その他の重要な関連情報が含まれています。 GeolocationPositionError-
GeolocationPositionErrorは、Geolocationに含まれるメソッドのいずれかの呼び出しに失敗した場合、エラーコールバック内で返され、エラーコードとメッセージが含まれています。
他のインターフェイスへの拡張
-
API のエントリーポイント。
Geolocationオブジェクトのインスタンスを返し、そこから他のすべての機能にアクセスすることができます。
例
例については位置情報 API の使用を参照してください。
仕様書
| Specification |
|---|
| Geolocation> # geolocation_interface> |
ブラウザーの互換性
Loading…
可用性
Wi-Fi ベースの測位は Google が提供することが多いため、中国ではバニラの位置情報 API が利用できない場合があります。 Baidu, Autonavi, Tencent などの地域ののサードパーティプロバイダーを使用することができます。これらのサービスは、ユーザーの IP アドレスおよび/またはローカルアプリを使用して、より高度な位置情報を提供します。