isStyleLoaded method Null safety
Check if the style is completely loaded.
Note: The style specified sprite would be marked as loaded even with sprite loading error (An error will be emitted via MapLoadingError).
Sprite loading error is not fatal and we don't want it to block the map rendering, thus the function will still return true if style and sources are fully loaded.
@return true iff the style JSON contents, the style specified sprite and sources are all loaded, otherwise returns false.
Implementation
Future<bool> isStyleLoaded() async {
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.isStyleLoaded',
codec,
binaryMessenger: _binaryMessenger);
final List<Object?>? replyList = await channel.send(null) as List<Object?>?;
if (replyList == null) {
throw PlatformException(
code: 'channel-error',
message: 'Unable to establish connection on channel.',
);
} else if (replyList.length > 1) {
throw PlatformException(
code: replyList[0]! as String,
message: replyList[1] as String?,
details: replyList[2],
);
} else if (replyList[0] == null) {
throw PlatformException(
code: 'null-error',
message: 'Host platform returned null value for non-null return value.',
);
} else {
return (replyList[0] as bool?)!;
}
}