interpretMapHeroMapOptions static method
Implementation
static void interpretMapHeroMapOptions(
Map<String, dynamic> options, MapHeroMapOptionsSink sink) {
if (options.containsKey('cameraTargetBounds')) {
final bounds = options['cameraTargetBounds'][0];
if (bounds == null) {
sink.setCameraTargetBounds(null);
} else {
sink.setCameraTargetBounds(
LatLngBounds(
southwest: LatLng(bounds[0][0], bounds[0][1]),
northeast: LatLng(bounds[1][0], bounds[1][1]),
),
);
}
}
if (options.containsKey('compassEnabled')) {
sink.setCompassEnabled(options['compassEnabled']);
}
if (options.containsKey('styleString')) {
sink.setStyleString(options['styleString']);
}
if (options.containsKey('minMaxZoomPreference')) {
sink.setMinMaxZoomPreference(options['minMaxZoomPreference'][0],
options['minMaxZoomPreference'][1]);
}
if (options['rotateGesturesEnabled'] != null &&
options['scrollGesturesEnabled'] != null &&
options['tiltGesturesEnabled'] != null &&
options['zoomGesturesEnabled'] != null &&
options['doubleClickZoomEnabled'] != null) {
sink.setGestures(
rotateGesturesEnabled: options['rotateGesturesEnabled'],
scrollGesturesEnabled: options['scrollGesturesEnabled'],
tiltGesturesEnabled: options['tiltGesturesEnabled'],
zoomGesturesEnabled: options['zoomGesturesEnabled'],
doubleClickZoomEnabled: options['doubleClickZoomEnabled']);
}
if (options.containsKey('trackCameraPosition')) {
sink.setTrackCameraPosition(options['trackCameraPosition']);
}
if (options.containsKey('myLocationEnabled')) {
sink.setMyLocationEnabled(options['myLocationEnabled']);
}
if (options.containsKey('myLocationTrackingMode')) {
//Should not be invoked before sink.setMyLocationEnabled()
sink.setMyLocationTrackingMode(options['myLocationTrackingMode']);
}
if (options.containsKey('myLocationRenderMode')) {
sink.setMyLocationRenderMode(options['myLocationRenderMode']);
}
if (options.containsKey('logoViewMargins')) {
sink.setLogoViewMargins(
options['logoViewMargins'][0], options['logoViewMargins'][1]);
}
if (options.containsKey('compassViewPosition')) {
final position =
CompassViewPosition.values[options['compassViewPosition']];
sink.setCompassAlignment(position);
}
if (options.containsKey('compassViewMargins')) {
sink.setCompassViewMargins(
options['compassViewMargins'][0], options['compassViewMargins'][1]);
}
if (options.containsKey('attributionButtonPosition')) {
final position = AttributionButtonPosition
.values[options['attributionButtonPosition']];
sink.setAttributionButtonAlignment(position);
} else {
sink.setAttributionButtonAlignment(AttributionButtonPosition.bottomRight);
}
if (options.containsKey('attributionButtonMargins')) {
sink.setAttributionButtonMargins(options['attributionButtonMargins'][0],
options['attributionButtonMargins'][1]);
}
}