initializeWithRenderer method
Requests Google Map Renderer with AndroidMapRenderer type.
See https://pub-web.flutter-io.cn/packages/google_maps_flutter_android#map-renderer for more information.
The renderer must be requested before creating GoogleMap instances as the renderer can be initialized only once per application context. Throws a PlatformException if method is called multiple times.
The returned Future completes after renderer has been initialized. Initialized AndroidMapRenderer type is returned.
Implementation
Future<AndroidMapRenderer> initializeWithRenderer(
AndroidMapRenderer? rendererType) async {
String preferredRenderer;
switch (rendererType) {
case AndroidMapRenderer.latest:
preferredRenderer = 'latest';
case AndroidMapRenderer.legacy:
preferredRenderer = 'legacy';
case AndroidMapRenderer.platformDefault:
case null:
preferredRenderer = 'default';
}
final String? initializedRenderer = await _initializerChannel
.invokeMethod<String>('initializer#preferRenderer',
<String, dynamic>{'value': preferredRenderer});
if (initializedRenderer == null) {
throw AndroidMapRendererException('Failed to initialize map renderer.');
}
// Returns mapped [AndroidMapRenderer] enum type.
switch (initializedRenderer) {
case 'latest':
return AndroidMapRenderer.latest;
case 'legacy':
return AndroidMapRenderer.legacy;
default:
throw AndroidMapRendererException(
'Failed to initialize latest or legacy renderer, got $initializedRenderer.');
}
}