updateFeatureMetaData method

void updateFeatureMetaData({
  1. required MapsObjectId mapsObjectId,
  2. required String key,
  3. required String data,
})

Implementation

void updateFeatureMetaData(
    {required MapsObjectId mapsObjectId,
    required String key,
    required String data}) {

  Map<MapsObjectId,FeatureMetadata> metadataToUpdate;

  if (mapsObjectId is PolygonId) {
    metadataToUpdate = polygonMetadata;
  } else if (mapsObjectId is PolylineId) {
    metadataToUpdate = polylineMetadata;
  } else if (mapsObjectId is MarkerId) {
    metadataToUpdate = markerMetadata;
  } else {
    throw "UNKNOWN MAP OBJECT";
  }

  metadataToUpdate.update(
    mapsObjectId,
        (value) => value.updateMetadata(
      key: key,
      data: data,
    ),
    ifAbsent: () => FeatureMetadata().updateMetadata(
      key: key,
      data: data,
    ),
  );
}