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
- A concrete OverlayItemParameters subtype when recognised, otherwise null.
Example
final OverlayItemParameters? params = item.previewData;
if (params is PublicTransportParameters) {
print('Stop name: ${params.name}');
}
See also:
- previewDataParameterList - Raw preview data as a SearchableParameterList.
- getPreviewExtendedData - Method to download additional preview data (if available).
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;
}