Blo*_*oss 20

不使用插件

  double calculateDistance(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));
  }
Run Code Online (Sandbox Code Playgroud)

结果是KM。如果你想要米,只需乘以1000即可。return 1000 * 12742 * asin(sqrt(a))


Ami*_*gid 13

您可以使用地理定位器插件来计算两个坐标之间的距离:

一个例子:

var _distanceInMeters = await Geolocator().distanceBetween(
   _latitudeForCalculation,
   _longitudeForCalculation,
   _currentPosition.latitude,
   _currentPosition.longitude,
);
Run Code Online (Sandbox Code Playgroud)

查看GeoLocator 插件以获取更多信息。