位置情報 API

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

位置情報 API (Geolocation API) を使用すると、ユーザーが望む場合に、自分の位置情報をウェブアプリケーションに提供することができます。プライバシー上の理由から、ユーザーは位置情報を報告する許可を求められます。

WebExtension で Geolocation オブジェクトを使用するには、マニフェストに "geolocation" パーミッションを追加しなければなりません。ユーザーのオペレーティングシステムは、最初に要求されたときに位置情報へのアクセスを許可するようにユーザーに促します。

概念と使用方法

ウェブアプリでユーザーの位置情報を取得したいと思うことはよくあります。例えば、ユーザーの位置を地図上にプロットしたり、ユーザーの位置に関連するパーソナライズされた情報を表示したりすることができます。

位置情報 APIは navigator.geolocation への呼び出しを介してアクセスします。これにより、ブラウザーはユーザーに自分の位置情報にアクセスする許可を要求します。ユーザーが許可すると、ブラウザーは端末上で利用可能な最良の機能(GPS など)を使用してこの情報にアクセスします。

開発者は、いくつかの異なる方法でこの位置情報にアクセスできるようになりました。

どちらの場合も、メソッド呼び出しには最大 3 つの引数を取ります。

  • 成功コールバック(必須): 位置情報の取得に成功した場合、このコールバックが GeolocationPosition オブジェクトを唯一の引数として実行され、位置情報へのアクセスを提供します。
  • エラーコールバック(オプション): 位置情報の検索に失敗した場合、このコールバックが GeolocationPositionError オブジェクトを唯一の引数として実行され、何が問題となったかに関するアクセス情報を提供します。
  • 位置データを取得するためのオプションを提供するオプションのオブジェクト。

位置情報の使用に関するさらなる情報は、位置情報 API の使用を参照してください。

インターフェイス

Geolocation

この API のメインクラスです。ユーザーの現在位置の取得、位置の変化の監視、および以前に設定した管理のクリアを行うメソッドが含まれています。

GeolocationPosition

ユーザーの位置を表します。 GeolocationPosition インスタンスは、 Geolocation に含まれるメソッドのいずれかの呼び出しが成功した場合に、成功コールバックの内部で返され、タイムスタンプと GeolocationCoordinates オブジェクトのインスタンスが含まれます。

GeolocationCoordinates

ユーザーの位置の座標を表します。 GeolocationCoordinates のインスタンスには、緯度、経度、その他の重要な関連情報が含まれています。

GeolocationPositionError

GeolocationPositionError は、 Geolocation に含まれるメソッドのいずれかの呼び出しに失敗した場合、エラーコールバック内で返され、エラーコードとメッセージが含まれています。

他のインターフェイスへの拡張

API のエントリーポイント。 Geolocation オブジェクトのインスタンスを返し、そこから他のすべての機能にアクセスすることができます。

例については位置情報 API の使用を参照してください。

仕様書

Specification
Geolocation
# geolocation_interface

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Geolocation
clearWatch
getCurrentPosition
Secure context required
watchPosition

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
See implementation notes.

可用性

Wi-Fi ベースの測位は Google が提供することが多いため、中国ではバニラの位置情報 API が利用できない場合があります。 Baidu, Autonavi, Tencent などの地域ののサードパーティプロバイダーを使用することができます。これらのサービスは、ユーザーの IP アドレスおよび/またはローカルアプリを使用して、より高度な位置情報を提供します。

関連情報