setFeatureForGeoJsonSource method

  1. @override
Future<void> setFeatureForGeoJsonSource(
  1. String sourceId,
  2. Map<String, dynamic> geojsonFeature
)
override

Implementation

@override
Future<void> setFeatureForGeoJsonSource(
    String sourceId, Map<String, dynamic> geojsonFeature) async {
  final source = _map.getSource(sourceId) as GeoJsonSource?;
  final data = _addedFeaturesByLayer[sourceId];

  if (source != null && data != null) {
    final feature = _makeFeature(geojsonFeature);
    final features = data.features.toList();
    final index = features.indexWhere((f) => f.id == feature.id);
    if (index >= 0) {
      features[index] = feature;
      final newData = FeatureCollection(features: features);
      _addedFeaturesByLayer[sourceId] = newData;

      source.setData(newData);
    }
  }
}