RouteRenderSettings.fromJson constructor

RouteRenderSettings.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory RouteRenderSettings.fromJson(final Map<String, dynamic> json) {
  final Set<RouteRenderOptions> loptions = <RouteRenderOptions>{};
  final int id = json['options'];
  for (final RouteRenderOptions option in RouteRenderOptions.values) {
    if (id & option.id != 0) {
      loptions.add(option);
    }
  }

  return RouteRenderSettings(
    traveledInnerColor: ColorExtension.tryFromJson(
      json['traveledInnerColor'],
    ),
    turnArrowInnerColor: ColorExtension.tryFromJson(
      json['turnArrowInnerColor'],
    ),
    turnArrowOuterColor: ColorExtension.tryFromJson(
      json['turnArrowOuterColor'],
    ),
    turnArrowInnerSz:
        json['turnArrowInnerSz'] ?? RenderSettings.defaultInnerSize,
    turnArrowOuterSz:
        json['turnArrowOuterSz'] ?? RenderSettings.defaultOuterSize,
    fillColor: ColorExtension.tryFromJson(json['fillColor']),
    waypointTextSz: json['waypointTextSz'] ?? RenderSettings.defaultTextSize,
    waypointTextInnerColor: ColorExtension.tryFromJson(
      json['waypointTextInnerColor'],
    ),
    waypointTextOuterColor: ColorExtension.tryFromJson(
      json['waypointTextOuterColor'],
    ),
    lineType: LineTypeExtension.fromId(
      json['lineType'] ?? RenderSettings.defaultLineType.id,
    ),
    imgSz: json['imgSz'] ?? RenderSettings.defaultImageSize,
    innerColor: ColorExtension.tryFromJson(json['innerColor']),
    outerColor: ColorExtension.tryFromJson(json['outerColor']),
    innerSz: json['innerSz'] ?? RenderSettings.defaultInnerSize,
    outerSz: json['outerSz'] ?? RenderSettings.defaultOuterSize,
    textSz: json['textSz'] ?? RenderSettings.defaultTextSize,
    textColor: ColorExtension.tryFromJson(json['textColor']),
    options: loptions,
    directionArrowInnerColor: ColorExtension.tryFromJson(
      json['directionArrowInnerColor'],
    ),
    directionArrowOuterColor: ColorExtension.tryFromJson(
      json['directionArrowOuterColor'],
    ),
  );
}