initialize method
Implementation
@mustCallSuper
Future<void> initialize() async {
if (_isInitializing || _isInitialized) {
return;
}
// Mark initialization process start, so that it cannot be entered again
_isInitializing = true;
try {
for (var i = 0; i < allLayerProperties.length; i++) {
final layerId = _makeLayerId(i);
await controller.addGeoJsonSource(
layerId,
buildFeatureCollection([]),
promoteId: "id",
);
await controller.addLayer(
layerId,
layerId,
allLayerProperties[i],
enableInteraction: enableInteraction,
);
}
controller.onFeatureDrag.add(_onDrag);
// Mark as initialized
_isInitialized = true;
} finally {
// Mark initialization process end
_isInitializing = false;
}
}