addPersistentStyleLayer method
Adds a new style layer.
Whenever a new style is being parsed and currently used style has persistent layers, an engine will try to do following:
- keep the persistent layer at its relative position
- keep the source used by a persistent layer
- keep images added through
addStyleImage
method
In cases when a new style has the same layer, source or image resource, style's resources would be
used instead and MapLoadingError
event will be emitted.
@param properties A map of style layer properties.
@param layerPosition If not empty, the new layer will be positioned according to layer position
parameters.
@return A string describing an error if the operation was not successful, or empty otherwise.
Implementation
Future<void> addPersistentStyleLayer(
String properties, LayerPosition? layerPosition) async {
final String pigeonVar_channelName =
'dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.addPersistentStyleLayer$pigeonVar_messageChannelSuffix';
final BasicMessageChannel<Object?> pigeonVar_channel =
BasicMessageChannel<Object?>(
pigeonVar_channelName,
pigeonChannelCodec,
binaryMessenger: pigeonVar_binaryMessenger,
);
final List<Object?>? pigeonVar_replyList = await pigeonVar_channel
.send(<Object?>[properties, layerPosition]) as List<Object?>?;
if (pigeonVar_replyList == null) {
throw _createConnectionError(pigeonVar_channelName);
} else if (pigeonVar_replyList.length > 1) {
throw PlatformException(
code: pigeonVar_replyList[0]! as String,
message: pigeonVar_replyList[1] as String?,
details: pigeonVar_replyList[2],
);
} else {
return;
}
}