0

我有多个位置和当前位置,我想找到我当前位置与谷歌地图颤动的其他给定位置之间的距离。

请提供任何可以轻松计算时间和距离的方法或库。我正在使用此代码,但找不到正确的距离。

double _coordinateDistance(lat1, lon1, lat2, lon2) {
var p = 0.017453292519943295;
var c = cos;
var a = 0.5 - c((lat2 - lat1) * p) / 2 +
    c(lat1 * p) * c(lat2 * p) * (1 - c((lon2 - lon1) * p)) / 2;
return 12742 * asin(sqrt(a));}
4

1 回答 1

0

使用 https://pub.dev/packages/flutter_locations_distance包将您的多个位置添加到 lat 和 lon 数组并使用此代码

for(int i=0;i<locCount;i++){ 
double distance;
// Platform messages may fail, so we use a try/catch PlatformException.
try {
  distance = await FlutterLocationsDistance().distanceBetween(currentLat, 
currentLon, lat[i], lon[i]);
} on PlatformException {
  distance = -1.0;
}
}

对于每个多个位置,您可以获得当前位置与其他位置之间的距离。

要获取您当前的位置,请使用https://pub.dev/packages/location包。

暂时你可以使用https://pub.dev/packages/stop_watch_timer

于 2020-11-26T06:14:45.833 回答