タイトルにある通り、住所の文字列からその地点の緯度経度を取得する方法についてです。
逆の処理である緯度経度から住所を取得する方法については、API が簡単に見つかるのですが、React Native で住所から緯度経度を取得する方法については調べ方が悪いのかなかなか見つかりませんでした。
Google Maps Geocoding API を使っているライブラリはありましたが、金銭的な理由で出来れば Google Maps は使いたくなくて…。
で、見つけたのがこちら「react-native-geocoder」というライブラリです。
GitHub のページはこちら。
timwangdev/react-native-geocoder-reborn: Geocoding services for react-native
https://github.com/timwangdev/react-native-geocoder-reborn
使い方は、まずライブラリを下記のコマンドでインストールします。
npm install @timwangdev/react-native-geocoder --save
次に、緯度経度を取得する処理を実行したいファイルに下記を追加してライブラリをインポートします。
import Geocoder from '@timwangdev/react-native-geocoder';
あとは、緯度経度を取得したいタイミングで下記を実行すればOKです!
try { // 住所から緯度経度を取得する const result = await Geocoder.geocodeAddress('[住所の文字列]'); console.log(result); } catch(err) { console.log(err) }
取得に成功すると変数 result に結果が格納されます。
また、オプションを指定することもでき、優先する国コードや返却される結果の最大件数なんかを指定することができます。
さらに、データ取得に失敗した場合に、Google Maps Geocoding API を使用してデータを取得するかどうかの設定もできます。
ですが、私はオプション指定なしの状態で指定しましたが、特に問題なく緯度経度が取得できたので、デフォルト値のままでも大丈夫そうです。
このあたりは実際に使ってみて調整してください。
以上、React Native で住所から緯度経度を取得できるライブラリ「react-native-geocoder」のご紹介でした。
ご参考になれば幸いです。