MarkerProperties.fromMap constructor

MarkerProperties.fromMap(
  1. Map<String, dynamic>? properties,
  2. MarkerProperties markerLayerProperties
)

Creates a MarkerProperties object by extracting properties from a map of properties and merging them with the provided markerLayerProperties.

The properties map should contain keys corresponding to the properties to be extracted, and markerLayerProperties provides default values.

Implementation

factory MarkerProperties.fromMap(
  Map<String, dynamic>? properties,
  MarkerProperties markerLayerProperties,
) {
  Map<LayerMarkerIndexes, String>? layerMarkerProperties =
      markerLayerProperties.layerProperties;
  if (properties != null && layerMarkerProperties != null) {
    final String? keyPropertieWidth =
        layerMarkerProperties[LayerMarkerIndexes.width];
    double? propWidth = properties[keyPropertieWidth];

    final String? keyPropertieHeight =
        layerMarkerProperties[LayerMarkerIndexes.height];
    double? propHeight = properties[keyPropertieHeight];

    final String? keyPropertieRotate =
        layerMarkerProperties[LayerMarkerIndexes.rotate];
    bool? propRotate = properties[keyPropertieRotate];

    return MarkerProperties(
      key: markerLayerProperties.key,
      width: propWidth ?? markerLayerProperties.width,
      height: propHeight ?? markerLayerProperties.height,
      rotate: propRotate,
      rotateAlignment: markerLayerProperties.rotateAlignment,
    );
  } else {
    return markerLayerProperties;
  }
}