颤振绘制多种折线颜色



我有很多次旅行,每次旅行都有一个职位列表。 我需要为每次行程分配一种颜色,但发生的事情是,在绘制线条时,不是更改每个行程的新颜色,而是会更改所有已绘制的折线。 我该如何为每次旅行做到这一点?

getTrips() async {
await Future.forEach(trips, (element) async {
List positions = element['positions'] as List;
await Future.forEach(positions, (element) async {
latitude = element['coordinates'][0];
longitude = element['coordinates'][1];
direction = element['direction'] ?? 0;
//Current position
position = LatLng(latitude ?? 0, longitude ?? 0);
positionList.add(position);
addMarker();
});
});}
addMarker() async {
var m = markers.firstWhere((p) => p.markerId == MarkerId(equipmentId), orElse: () => null);
if (markers.isNotEmpty) {
markers.remove(m);
}
selectedMarker = MarkerId(equipmentId);
markers
..add(Marker(
visible: true,
markerId: selectedMarker,
position: position,
icon: customIcon,
anchor: Offset(0.5, 0.5),
rotation: direction,
));
_polyline.add(Polyline(
polylineId: PolylineId(_polylineIdCounter.toString()),
visible: true,
width: 6,
points: positionList,
color: tripColors[++colorIndex % tripColors.length],
));
_polylineIdCounter++;
cPosition = CameraPosition(
zoom: cameraZoom,
target: LatLng(position.latitude, position.longitude),
);
if (mounted) setState(() {});
_animateCamera(cPosition);
}

我知道已经有一段时间了,但以防万一有人需要这个,那么你就去吧。

从理论上讲,折线属性是"Set{}",这意味着您可以拥有多条折线,因此对于每次行程,请创建一条具有不同颜色的不同折线,并将其全部添加到集合中。

我认为这应该可以解决它。

相关内容

  • 没有找到相关文章

最新更新