我正在使用 Flutter 在谷歌地图上开发自定义标记。
我只是想了解Marker。
我可以平滑地实现标记动画吗?
例如。 经纬度(xx.xxxxxxx) => 经纬度(yy.yyyyyyy) 当标记移动时,它必须平滑移动。
尝试这个 新软件包 - Anmarker 在 Google 地图上制作动画标记。
_latLngStream.getLatLngInterpolation().listen
您可以使用:
_animationController = AnimationController(
duration: const Duration(seconds: 2),
vsync: this,
);
_latAnimation = Tween<double>(
begin: oldPosition.latitude,
end: newPosition.latitude,
).animate(
CurvedAnimation(parent: _animationController, curve: Curves.linear));
_lngAnimation = Tween<double>(
begin: oldPosition.longitude,
end: newPosition.longitude,
).animate(
CurvedAnimation(parent: _animationController, curve: Curves.linear));
_latAnimation.addListener(() async {
setState(() {
currentPosition = map.LatLng(_latAnimation.value, _lngAnimation.value);
carRotation =
LocationManager.calculateDegree(oldPosition, newPosition) + 90;
addMarker(newPosition);
});