convertGridToPolylines static method
Convert grid-section API response to polylines
Implementation
static Set<Polyline> convertGridToPolylines(
Map<String, dynamic> gridData, {
Color gridColor = Colors.blue,
double opacity = 0.4,
int lineWidth = 1,
}) {
Set<Polyline> polylines = {};
try {
final lines = gridData['lines'] as List<dynamic>?;
if (lines != null && lines.isNotEmpty) {
for (int i = 0; i < lines.length; i++) {
final line = lines[i] as Map<String, dynamic>;
final start = line['start'] as Map<String, dynamic>;
final end = line['end'] as Map<String, dynamic>;
final startLat = (start['lat'] as num).toDouble();
final startLng = (start['lng'] as num).toDouble();
final endLat = (end['lat'] as num).toDouble();
final endLng = (end['lng'] as num).toDouble();
polylines.add(
Polyline(
polylineId: PolylineId('$gridIdPrefix$i'),
width: lineWidth,
color: gridColor.withOpacity(opacity),
points: [
LatLng(startLat, startLng),
LatLng(endLat, endLng),
],
),
);
}
}
} catch (e) {
debugPrint('Error converting grid to polylines: $e');
}
return polylines;
}