【React Native】「react-native-geolocation-service」ライブラリを使って現在地の緯度経度を取得する

以前、「@react-native-community/geolocation」ライブラリを使って、現在地の緯度経度を取得する処理についてご紹介しましたが、よくよく確認したところこちらのライブラリが Android だと精度が低く、速度が遅いため非推奨とのこと。
そのため、「react-native-geolocation-service」ライブラリに入れ替えることにしました。

GitHub のページはこちらから。

Agontuk/react-native-geolocation-service: React native geolocation service for iOS and android
https://github.com/Agontuk/react-native-geolocation-service

 

まず、下記コマンドを使ってライブラリをインストールします。

npm install react-native-geolocation-service --save

で、あとは現在地を取得する処理を記述するページで下記をインポートすれば準備は完了です。

import Geolocation from 'react-native-geolocation-service';

なお、用意されている API は「@react-native-community/geolocation」ライブラリとほぼ一緒なので、インポート文を変更すればそのまま使えるかと思います。
ただし、iOS でのみ使える requestAuthorization() は引数に "whenInUse" または "always" を指定する必要があるので、そこだけご注意ください。

で、実際に Android で getCurrentPosition() を使って現在の緯度経度を取得したところ、オプションの enableHighAccuracytrue にしても緯度経度が無事に取得できました!
@react-native-community/geolocation ライブラリを使っていた時だと、オプションで enableHighAccuracy: true にすると、タイムアウトしてしまったんですよね…。
iOS ではまだ確認していないので、後日確認したいと思います!

 

以上、React Native の「react-native-geolocation-service」ライブラリを使って現在の位置情報を取得する方法でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG