in packages/google_maps_flutter/google_maps_flutter/ios/Classes/GoogleMapController.m [653:721]
static void InterpretMapOptions(NSDictionary *data, id<FLTGoogleMapOptionsSink> sink) {
NSArray *cameraTargetBounds = data[@"cameraTargetBounds"];
if (cameraTargetBounds) {
[sink setCameraTargetBounds:ToOptionalBounds(cameraTargetBounds)];
}
NSNumber *compassEnabled = data[@"compassEnabled"];
if (compassEnabled != nil) {
[sink setCompassEnabled:ToBool(compassEnabled)];
}
id indoorEnabled = data[@"indoorEnabled"];
if (indoorEnabled) {
[sink setIndoorEnabled:ToBool(indoorEnabled)];
}
id trafficEnabled = data[@"trafficEnabled"];
if (trafficEnabled) {
[sink setTrafficEnabled:ToBool(trafficEnabled)];
}
id buildingsEnabled = data[@"buildingsEnabled"];
if (buildingsEnabled) {
[sink setBuildingsEnabled:ToBool(buildingsEnabled)];
}
id mapType = data[@"mapType"];
if (mapType) {
[sink setMapType:ToMapViewType(mapType)];
}
NSArray *zoomData = data[@"minMaxZoomPreference"];
if (zoomData) {
float minZoom = (zoomData[0] == [NSNull null]) ? kGMSMinZoomLevel : ToFloat(zoomData[0]);
float maxZoom = (zoomData[1] == [NSNull null]) ? kGMSMaxZoomLevel : ToFloat(zoomData[1]);
[sink setMinZoom:minZoom maxZoom:maxZoom];
}
NSArray *paddingData = data[@"padding"];
if (paddingData) {
float top = (paddingData[0] == [NSNull null]) ? 0 : ToFloat(paddingData[0]);
float left = (paddingData[1] == [NSNull null]) ? 0 : ToFloat(paddingData[1]);
float bottom = (paddingData[2] == [NSNull null]) ? 0 : ToFloat(paddingData[2]);
float right = (paddingData[3] == [NSNull null]) ? 0 : ToFloat(paddingData[3]);
[sink setPaddingTop:top left:left bottom:bottom right:right];
}
NSNumber *rotateGesturesEnabled = data[@"rotateGesturesEnabled"];
if (rotateGesturesEnabled != nil) {
[sink setRotateGesturesEnabled:ToBool(rotateGesturesEnabled)];
}
NSNumber *scrollGesturesEnabled = data[@"scrollGesturesEnabled"];
if (scrollGesturesEnabled != nil) {
[sink setScrollGesturesEnabled:ToBool(scrollGesturesEnabled)];
}
NSNumber *tiltGesturesEnabled = data[@"tiltGesturesEnabled"];
if (tiltGesturesEnabled != nil) {
[sink setTiltGesturesEnabled:ToBool(tiltGesturesEnabled)];
}
NSNumber *trackCameraPosition = data[@"trackCameraPosition"];
if (trackCameraPosition != nil) {
[sink setTrackCameraPosition:ToBool(trackCameraPosition)];
}
NSNumber *zoomGesturesEnabled = data[@"zoomGesturesEnabled"];
if (zoomGesturesEnabled != nil) {
[sink setZoomGesturesEnabled:ToBool(zoomGesturesEnabled)];
}
NSNumber *myLocationEnabled = data[@"myLocationEnabled"];
if (myLocationEnabled != nil) {
[sink setMyLocationEnabled:ToBool(myLocationEnabled)];
}
NSNumber *myLocationButtonEnabled = data[@"myLocationButtonEnabled"];
if (myLocationButtonEnabled != nil) {
[sink setMyLocationButtonEnabled:ToBool(myLocationButtonEnabled)];
}
}