我的工作是在一个公交车跟踪应用程序在翩翩起舞,但打击在移动的公交车图标动画与谷歌_地图_翩翩起舞我试过使用标记,但它没有任何动画的标记我不怎么解决这种情况是有什么使移动annmation与标记在地图上
对于这种应用,你需要一个源来接收实时的位置[你可以使用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)
)
);
}