MarkerRenderSettings.fromJson constructor
MarkerRenderSettings.fromJson( - Map<String, dynamic> json
)
Implementation
factory MarkerRenderSettings.fromJson(Map<String, dynamic> json) {
final Set<MarkerLabelingMode> labelingModeSet = <MarkerLabelingMode>{};
final int packedMode = json['labelingMode'];
for (final MarkerLabelingMode mode in MarkerLabelingMode.values) {
if (packedMode & mode.id == mode.id) {
labelingModeSet.add(mode);
}
}
if (labelingModeSet.contains(MarkerLabelingMode.none)) {
labelingModeSet.clear();
labelingModeSet.add(MarkerLabelingMode.itemLabelVisible);
labelingModeSet.add(MarkerLabelingMode.groupLabelVisible);
labelingModeSet.add(MarkerLabelingMode.iconBottomCenter);
labelingModeSet.add(MarkerLabelingMode.textAbove);
}
return MarkerRenderSettings(
polylineInnerColor: json['polylineInnerColor'] != null
? ColorExtension.fromJson(json['polylineInnerColor'])
: defaultColor,
polylineOuterColor: json['polylineOuterColor'] != null
? ColorExtension.fromJson(json['polylineOuterColor'])
: defaultColor,
polygonFillColor: json['polygonFillColor'] != null
? ColorExtension.fromJson(json['polygonFillColor'])
: defaultColor,
labelTextColor: json['labelTextColor'] != null
? ColorExtension.fromJson(json['labelTextColor'])
: defaultColor,
polylineInnerSize: json['polylineInnerSize'].toDouble() == 0.0
? defaultPolylineInnerSize
: json['polylineInnerSize'].toDouble(),
polylineOuterSize: json['polylineOuterSize'].toDouble() == 0.0
? defaultPolylineOuterSize
: json['polylineOuterSize'].toDouble(),
labelTextSize: json['labelTextSize'].toDouble() == 2147483647.0
? defaultLabelTextSize
: json['labelTextSize'].toDouble(),
imageSize: json['imageSize'].toDouble() == -1
? defaultImageSize
: json['imageSize'].toDouble(),
labelingMode: labelingModeSet,
);
}