LocationService API の使用

位置情報機能を持つ Lightning Web コンポーネントを開発する場合は、LocationService API を使用して現在地を特定します。

  1. LocationService をコンポーネント定義にインポートして、LocationService API 関数をコードで使用できるようにします。
  2. 位置情報関数をコールする前に LocationService が使用できることをテストして確認します。
  3. 位置情報関数を使用して、現在の位置情報を取得するか、位置情報の変更に関する更新情報を要求します。

コンポーネントの JavaScript ファイルで、標準 JavaScript import ステートメントを使用して LocationService をインポートします。具体的には、次のように lightning/mobileCapabilities モジュールから getLocationService() ファクトリ関数をインポートします。

コンポーネントにインポートされたら、ファクトリ関数を使用して LocationService のインスタンスを取得します。LocationService インスタンスで isAvailable() ユーティリティ関数を使用して可用性を検証します。位置情報計算関数を使用して現在の位置情報を取得するか、位置情報の変更に関する更新情報を設定して受信します。

LocationService は、物理デバイスのハードウェアおよびプラットフォーム機能に連動します。LocationService を使用するコンポーネントは、デスクトップコンピュータやモバイルブラウザでエラーなく表示されますが、位置情報関数は動作しません。このようなエラーを回避するには、使用する前に LocationService 機能を使用できるかどうかを確認します。

現在の位置情報は、関数をコールするだけで測定できます。コールは非同期で JavaScript Promise として処理する必要がありますが、このコールは、リソースを自動的に割り当ててリリースする「1 回で完了する」コールです。

設定、結果の形式、およびエラー処理についての詳細は、getCurrentPosition(options)を参照してください。

デバイスの位置情報が大幅に変化したときに更新情報を受信するには、startWatchingPosition() 関数を使用して、位置情報の更新情報を登録します。位置が更新されたときにその更新情報を処理するには、コールバック関数を指定します。

リソース割り当てについての重要な注意など、使用に関するその他の詳細情報については、startWatchingPosition(options, callback)を参照してください。stopTracking() 関数の例については、stopWatchingPosition(watchId)を参照してください。

関連トピック