previewData property

OverlayItemParameters? get previewData

Typed preview data for the overlay item, when available.

The method returns a subclass of OverlayItemParameters depending on the overlay type (for example PublicTransportParameters, SafetyParameters or SocialReportParameters). For unknown/custom preview structures this property returns null; in that case use previewDataParameterList.

Returns

Example

final OverlayItemParameters? params = item.previewData;
if (params is PublicTransportParameters) {
  print('Stop name: ${params.name}');
}

See also:

Implementation

OverlayItemParameters? get previewData {
  final OperationResult resultString = objectMethod(
    pointerId,
    'OverlayItem',
    'getPreviewData',
  );

  final List<GemParameter> params = SearchableParameterList.init(
    resultString['result'],
  ).toList();

  final Set<String> keys = <String>{
    for (final GemParameter p in params)
      if (p.key != null && p.key!.isNotEmpty) p.key!,
  };

  if (keys.contains('own_report')) {
    return SocialReportParameters.fromParameters(params);
  }
  if (keys.contains('camera_type_id')) {
    return SafetyParameters.fromParameters(params);
  }
  if (keys.contains('name')) {
    return PublicTransportParameters.fromParameters(params);
  }
  return null;
}