翩翩起舞 如何让uber或ola这样的汽车图标在谷歌地图上移动?

问题描述 投票:3回答:1

我的工作是在一个公交车跟踪应用程序在翩翩起舞,但打击在移动的公交车图标动画与谷歌_地图_翩翩起舞我试过使用标记,但它没有任何动画的标记我不怎么解决这种情况是有什么使移动annmation与标记在地图上

android flutter dart maps flutter-animation
1个回答
2
投票

对于这种应用,你需要一个源来接收实时的位置[你可以使用node.js和套接字。 io作为后端],比如driver app[在driver app中监听位置变化],在从driver app中接收实时位置时,你不需要为标记添加动画,调用在地图上添加标记的方法,每次调用updateDriverMarkersWithCircle()方法时使用driver的唯一id作为标记id。这是我为此使用的方法,每次接收到司机的位置时都会被调用,如果接收到的数据有相同的id,这个方法就会更新标记(看起来像移动的汽车),否则就会用司机的id在地图上添加一个新的标记。 以下是输出图片

void updateDriverMarkersWithCircle( Map newLocalData ) async{
    final Uint8List markerIcon = await getBytesFromAsset('assets/images/yellow_car.png', 180);
    LatLng latLng = LatLng( newLocalData['lat'], newLocalData['long'] );
      _markers.add( 
           Marker(
              markerId: MarkerId( newLocalData['id'].toString() ),
              position: latLng,
              rotation: newLocalData['heading'].toDouble(),
              draggable: false,
              zIndex: 2,
              flat: true,
              anchor: Offset(0.5, 0.5),
              icon: BitmapDescriptor.fromBytes( markerIcon ))
          );

      _circles.add(
           Circle(
            circleId: CircleId(newLocalData['id'].toString()),
            radius: newLocalData['accuracy'].toDouble(),
            zIndex: 1,
            strokeColor: Colors.blue,
            center: latlng,
            fillColor: Colors.blue.withAlpha(70)
           )
        );
  }
© www.soinside.com 2019 - 2024. All rights reserved.