目次
はじめに
本記事は、「google_maps_flutter」のライブラリで取得した「LocationData」から住所を取得する方法です。
「google_maps_flutter」に関しては、以下の記事をご覧ください。
GPSの情報(緯度、経度)の配列から合計移動距離を計算して、キロメートル単位で返却する
「pubspec.yaml」に以下を追加します。
dependencies: ~~~省略~~~ geolocator: ~~~省略~~~
以下のクラスを作成します。
「getTotalOverallDistance」メソッドを実行することで、戻り値に合計距離(km)が返却されます。
import 'package:geolocator/geolocator.dart';
class MapService {
/// コンストラクタ
MapService();
/// GPSの情報(緯度、経度)の配列から合計移動距離を計算して、キロメートル単位で返却する
double getTotalOverallDistance(
List<double> _latitude, List<double> _longitude) {
// 合計移動距離(メートル)
double resultMeters = 0;
for (var i = 0; i < _latitude.length - 1; i++) {
// 緯度経度から移動距離をメートル単位で取得する
resultMeters += Geolocator.distanceBetween(
_latitude[i], _longitude[i], _latitude[i + 1], _longitude[i + 1]);
}
// 1000で割って、メートルをキロメートルに変換する
return resultMeters / 1000;
}
}