drawMultipleRoad method

  1. @override
Future<List<RoadInfo>> drawMultipleRoad(
  1. int idOSM,
  2. List<MultiRoadConfiguration> configs, {
  3. MultiRoadOption commonRoadOption = const MultiRoadOption.empty(),
})
override

Implementation

@override
Future<List<RoadInfo>> drawMultipleRoad(
  int idOSM,
  List<MultiRoadConfiguration> configs, {
  MultiRoadOption commonRoadOption = const MultiRoadOption.empty(),
}) async {
  final len = configs.length;
  final roadInfos = <RoadInfo>[];
  final args = configs.toListMap(
    commonRoadOption: commonRoadOption,
  );
  for (var i = 0; i < len; i++) {
    final roadInfo = RoadInfo();
    roadInfos.add(roadInfo);
    args[i]['key'] = roadInfo.key;
  }

  final List result =
      (await _channels[idOSM]?.invokeListMethod("draw#multi#road", args))!;
  final List<Map<String, dynamic>> mapRoadInfo =
      result.map((e) => Map<String, dynamic>.from(e)).toList();
  return mapRoadInfo
      .asMap()
      .entries
      .map((entry) => roadInfos[entry.key].copyFromMap(map: entry.value))
      .toList();
}