Flutter 如何平滑地制作标记动画?

问题描述 投票:0回答:2

我正在使用 Flutter 在谷歌地图上开发自定义标记。

我只是想了解Marker。

我可以平滑地实现标记动画吗?

例如。 经纬度(xx.xxxxxxx) => 经纬度(yy.yyyyyyy) 当标记移动时,它必须平滑移动。

请参考此图片。 https://github.com/flutter/flutter/issues/31180

android ios iphone flutter mobile
2个回答
1
投票

尝试这个 新软件包 - Anmarker 在 Google 地图上制作动画标记。

_latLngStream.getLatLngInterpolation().listen

0
投票

您可以使用:

    _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);
  });
© www.soinside.com 2019 - 2024. All rights reserved.