MapViewProps: ViewProps & {
    cacheEnabled?: boolean;
    camera?: Camera;
    cameraZoomRange?: CameraZoomRange;
    compassOffset?: Point;
    customMapStyle?: MapStyleElement[];
    followsUserLocation?: boolean;
    googleMapId?: string;
    googleRenderer?: "LATEST" | "LEGACY";
    initialCamera?: Camera;
    initialRegion?: Region;
    kmlSrc?: string;
    legalLabelInsets?: EdgePadding;
    liteMode?: boolean;
    loadingBackgroundColor?: string;
    loadingEnabled?: boolean;
    loadingIndicatorColor?: string;
    mapPadding?: EdgePadding;
    mapType?: MapType;
    maxDelta?: number;
    maxZoomLevel?: number;
    minDelta?: number;
    minZoomLevel?: number;
    moveOnMarkerPress?: boolean;
    onCalloutPress?: ((event) => void);
    onDoublePress?: ((event) => void);
    onIndoorBuildingFocused?: ((event) => void);
    onIndoorLevelActivated?: ((event) => void);
    onKmlReady?: ((event) => void);
    onLongPress?: ((event) => void);
    onMapLoaded?: ((event) => void);
    onMapReady?: ((event?) => void);
    onMarkerDeselect?: ((event) => void);
    onMarkerDrag?: ((event) => void);
    onMarkerDragEnd?: ((event) => void);
    onMarkerDragStart?: ((event) => void);
    onMarkerPress?: ((event) => void);
    onMarkerSelect?: ((event) => void);
    onPanDrag?: ((event) => void);
    onPoiClick?: ((event) => void);
    onPress?: ((event) => void);
    onRegionChange?: ((region, details) => void);
    onRegionChangeComplete?: ((region, details) => void);
    onUserLocationChange?: ((event) => void);
    paddingAdjustmentBehavior?: "always" | "automatic" | "never";
    pitchEnabled?: boolean;
    provider?: Provider;
    region?: Region | default;
    rotateEnabled?: boolean;
    scrollDuringRotateOrZoomEnabled?: boolean;
    scrollEnabled?: boolean;
    showsBuildings?: boolean;
    showsCompass?: boolean;
    showsIndoorLevelPicker?: boolean;
    showsIndoors?: boolean;
    showsMyLocationButton?: boolean;
    showsPointsOfInterest?: boolean;
    showsScale?: boolean;
    showsTraffic?: boolean;
    showsUserLocation?: boolean;
    tintColor?: string;
    toolbarEnabled?: boolean;
    userInterfaceStyle?: "light" | "dark";
    userLocationAnnotationTitle?: string;
    userLocationCalloutEnabled?: boolean;
    userLocationFastestInterval?: number;
    userLocationPriority?: "balanced" | "high" | "low" | "passive";
    userLocationUpdateInterval?: number;
    zoomControlEnabled?: boolean;
    zoomEnabled?: boolean;
    zoomTapEnabled?: boolean;
}

Type declaration

  • Optional cacheEnabled?: boolean

    If true map will be cached and displayed as an image instead of being interactable, for performance usage.

    Default

    false
    

    Platform

    iOS: Apple maps only

    Platform

    Android: Supported

  • Optional camera?: Camera

    The camera view the map should display.

    Use the camera system, instead of the region system, if you need control over the pitch or heading. Using this will ignore the region property.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional cameraZoomRange?: CameraZoomRange

    Map camera distance limits. minCenterCoordinateDistance for minimum distance, maxCenterCoordinateDistance for maximum. animated for animated zoom changes. Takes precedence if conflicting with minZoomLevel, maxZoomLevel.

    Platform

    iOS: 13.0+

    Platform

    Android: Not supported

  • Optional compassOffset?: Point

    If set, changes the position of the compass.

    Platform

    iOS: Apple Maps only

    Platform

    Android: Not supported

  • Optional customMapStyle?: MapStyleElement[]

    Adds custom styling to the map component. See README for more information.

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional followsUserLocation?: boolean

    If true the map will focus on the user's location. This only works if showsUserLocation is true and the user has shared their location.

    Default

    false
    

    Platform

    iOS: Apple Maps only

    Platform

    Android: Not supported

  • Optional googleMapId?: string

    https://developers.google.com/maps/documentation/get-map-id google cloud mapId to enable cloud styling and more

  • Optional googleRenderer?: "LATEST" | "LEGACY"

    Default

    LATEST

    Platform

    iOS: Not supported

    Platform

    Android: Supported

  • Optional initialCamera?: Camera

    The initial camera view the map should use. Use this prop instead of camera only if you don't want to control the camera of the map besides the initial view.

    Use the camera system, instead of the region system, if you need control over the pitch or heading.

    Changing this prop after the component has mounted will not result in a camera change.

    This is similar to the initialValue prop of a text input.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional initialRegion?: Region

    The initial region to be displayed by the map. Use this prop instead of region only if you don't want to control the viewport of the map besides the initial region.

    Changing this prop after the component has mounted will not result in a region change.

    This is similar to the initialValue prop of a text input.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional kmlSrc?: string

    The URL for KML file.

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional legalLabelInsets?: EdgePadding

    If set, changes the position of the "Legal" label link in Apple maps.

    Platform

    iOS: Apple Maps only

    Platform

    Android: Not supported

  • Optional liteMode?: boolean

    Enables lite mode on Android

    Platform

    iOS: Not supported

    Platform

    Android: Supported

  • Optional loadingBackgroundColor?: string

    Sets loading background color.

    Default

    #FFFFFF

    Platform

    iOS: Apple Maps only

    Platform

    Android: Supported

  • Optional loadingEnabled?: boolean

    If true a loading indicator will show while the map is loading.

    Default

    false
    

    Platform

    iOS: Apple Maps only

    Platform

    Android: Supported

  • Optional loadingIndicatorColor?: string

    Sets loading indicator color.

    Default

    #606060

    Platform

    iOS: Apple Maps only

    Platform

    Android: Supported

  • Optional mapPadding?: EdgePadding

    Adds custom padding to each side of the map. Useful when map elements/markers are obscured.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional mapType?: MapType

    The map type to be displayed

    Default

    standard

    Platform

    iOS: hybrid | mutedStandard | satellite | standard | terrain | hybridFlyover | satelliteFlyover

    Platform

    Android: hybrid | none | satellite | standard | terrain

  • Optional maxDelta?: number

    TODO: Add documentation

    Platform

    iOS: Apple Maps only

    Platform

    Android: Not supported

  • Optional maxZoomLevel?: number

    Maximum zoom value for the map, must be between 0 and 20

    Default

    20
    

    Platform

    iOS: Supported

    Platform

    Android: Supported

    Deprecated

    on Apple Maps, use cameraZoomRange instead

  • Optional minDelta?: number

    TODO: Add documentation

    Platform

    iOS: Apple Maps only

    Platform

    Android: Not supported

  • Optional minZoomLevel?: number

    Minimum zoom value for the map, must be between 0 and 20

    Default

    0
    

    Platform

    iOS: Supported

    Platform

    Android: Supported

    Deprecated

    on Apple Maps, use cameraZoomRange instead

  • Optional moveOnMarkerPress?: boolean

    If false the map won't move to the marker when pressed.

    Default

    true
    

    Platform

    iOS: Not supported

    Platform

    Android: Supported

  • Optional onCalloutPress?: ((event) => void)

    Callback that is called when a callout is tapped by the user.

    Platform

    iOS: Apple Maps only

    Platform

    Android: Supported

  • Optional onDoublePress?: ((event) => void)

    Callback that is called when user double taps on the map.

    Platform

    iOS: Apple Maps only

    Platform

    Android: Supported

      • (event): void
      • Parameters

        Returns void

  • Optional onIndoorBuildingFocused?: ((event) => void)

    Callback that is called when an indoor building is focused/unfocused

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional onIndoorLevelActivated?: ((event) => void)

    Callback that is called when a level on indoor building is activated

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional onKmlReady?: ((event) => void)

    Callback that is called once the kml is fully loaded.

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional onLongPress?: ((event) => void)

    Callback that is called when user makes a "long press" somewhere on the map.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional onMapLoaded?: ((event) => void)

    Callback that is called when the map has finished rendering all tiles.

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional onMapReady?: ((event?) => void)

    Callback that is called once the map is ready.

    Event is optional, as the first onMapReady callback is intercepted on Android, and the event is not passed on.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional onMarkerDeselect?: ((event) => void)

    Callback that is called when a marker on the map becomes deselected. This will be called when the callout for that marker is about to be hidden.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional onMarkerDrag?: ((event) => void)

    Callback called continuously as a marker is dragged

    Platform

    iOS: Apple Maps only

    Platform

    Android: Supported

  • Optional onMarkerDragEnd?: ((event) => void)

    Callback that is called when a drag on a marker finishes. This is usually the point you will want to setState on the marker's coordinate again

    Platform

    iOS: Apple Maps only

    Platform

    Android: Supported

  • Optional onMarkerDragStart?: ((event) => void)

    Callback that is called when the user initiates a drag on a marker (if it is draggable)

    Platform

    iOS: Apple Maps only

    Platform

    Android: Supported

  • Optional onMarkerPress?: ((event) => void)

    Callback that is called when a marker on the map is tapped by the user.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional onMarkerSelect?: ((event) => void)

    Callback that is called when a marker on the map becomes selected. This will be called when the callout for that marker is about to be shown.

    Platform

    iOS: Supported.

    Platform

    Android: Supported

  • Optional onPanDrag?: ((event) => void)

    Callback that is called when user presses and drags the map. NOTE: for iOS scrollEnabled should be set to false to trigger the event

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional onPoiClick?: ((event) => void)

    Callback that is called when user click on a POI.

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional onPress?: ((event) => void)

    Callback that is called when user taps on the map.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional onRegionChange?: ((region, details) => void)

    Callback that is called continuously when the region changes, such as when a user is dragging the map. isGesture property indicates if the move was from the user (true) or an animation (false). Note: isGesture is supported by Google Maps only.

    Platform

    iOS: Supported

    Platform

    Android: Supported

      • (region, details): void
      • Parameters

        Returns void

  • Optional onRegionChangeComplete?: ((region, details) => void)

    Callback that is called once when the region changes, such as when the user is done moving the map. isGesture property indicates if the move was from the user (true) or an animation (false). Note: isGesture is supported by Google Maps only.

    Platform

    iOS: Supported

    Platform

    Android: Supported

      • (region, details): void
      • Parameters

        Returns void

  • Optional onUserLocationChange?: ((event) => void)

    Callback that is called when the underlying map figures our users current location (coordinate also includes isFromMockProvider value for Android API 18 and above). Make sure showsUserLocation is set to true.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional paddingAdjustmentBehavior?: "always" | "automatic" | "never"

    Indicates how/when to affect padding with safe area insets

    Platform

    iOS: Google Maps only

    Platform

    Android: Not supported

  • Optional pitchEnabled?: boolean

    If false the user won't be able to adjust the camera’s pitch angle.

    Default

    true
    

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional provider?: Provider

    The map framework to use. Either "google" for GoogleMaps, otherwise undefined to use the native map framework (MapKit in iOS and GoogleMaps in android).

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional region?: Region | default

    The region to be displayed by the map. The region is defined by the center coordinates and the span of coordinates to display.

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional rotateEnabled?: boolean

    If false the user won't be able to adjust the camera’s pitch angle.

    Default

    true
    

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional scrollDuringRotateOrZoomEnabled?: boolean

    If false the map will stay centered while rotating or zooming.

    Default

    true
    

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional scrollEnabled?: boolean

    If false the user won't be able to change the map region being displayed.

    Default

    true
    

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional showsBuildings?: boolean

    A Boolean indicating whether the map displays extruded building information.

    Default

    true
    

    Platform

    iOS: Not supported

    Platform

    Android: Supported

  • Optional showsCompass?: boolean

    If false compass won't be displayed on the map.

    Default

    true
    

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional showsIndoorLevelPicker?: boolean

    A Boolean indicating whether indoor level picker should be enabled.

    Default

    false
    

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional showsIndoors?: boolean

    A Boolean indicating whether indoor maps should be enabled.

    Default

    true
    

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional showsMyLocationButton?: boolean

    If false hide the button to move map to the current user's location.

    Default

    true
    

    Platform

    iOS: Google Maps only

    Platform

    Android: Supported

  • Optional showsPointsOfInterest?: boolean

    If false points of interest won't be displayed on the map. TODO: DEPRECATED? Doesn't seem to do anything

    Default

    true
    

    Platform

    iOS: Maybe Apple Maps?

    Platform

    Android: Not supported

  • Optional showsScale?: boolean

    A Boolean indicating whether the map shows scale information.

    Default

    true
    

    Platform

    iOS: Apple Maps only

    Platform

    Android: Not supported

  • Optional showsTraffic?: boolean

    A Boolean value indicating whether the map displays traffic information. TODO: Look into android support

    Default

    false
    

    Platform

    iOS: Supported

    Platform

    Android: Not supported?

  • Optional showsUserLocation?: boolean

    If true the users location will be displayed on the map.

    This will cause iOS to ask for location permissions. For iOS see: DOCS

    Default

    false
    

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional tintColor?: string

    Sets the tint color of the map. (Changes the color of the position indicator)

    Default

    System Blue
    

    Platform

    iOS: Apple Maps only

    Platform

    Android: Not supported

  • Optional toolbarEnabled?: boolean

    If false will hide 'Navigate' and 'Open in Maps' buttons on marker press

    Default

    true
    

    Platform

    iOS: Not supported

    Platform

    Android: Supported

  • Optional userInterfaceStyle?: "light" | "dark"

    Sets the map to the style selected.

    Default

    System setting
    

    Platform

    iOS: Apple Maps only (iOS >= 13.0)

    Platform

    Android: Not supported

  • Optional userLocationAnnotationTitle?: string

    The title of the annotation for current user location.

    This only works if showsUserLocation is true.

    Default

    My Location

    Platform

    iOS: Apple Maps only

    Platform

    Android: Not supported

  • Optional userLocationCalloutEnabled?: boolean

    If true clicking user location will show the default callout for userLocation annotation.

    Default

    false
    

    Platform

    iOS: Apple Maps only

    Platform

    Android: Not supported

  • Optional userLocationFastestInterval?: number

    Fastest interval the application will actively acquire locations.

    See Google APIs documentation

    Default

    5000
    

    Platform

    iOS: Not supported

    Platform

    Android: Supported

  • Optional userLocationPriority?: "balanced" | "high" | "low" | "passive"

    Set power priority of user location tracking.

    See Google APIs documentation

    Default

    high

    Platform

    iOS: Not supported

    Platform

    Android: Supported

  • Optional userLocationUpdateInterval?: number

    Interval of user location updates in milliseconds.

    See Google APIs documentation

    Default

    5000
    

    Platform

    iOS: Not supported

    Platform

    Android: Supported

  • Optional zoomControlEnabled?: boolean

    If false the zoom control at the bottom right of the map won't be visible.

    Default

    true
    

    Platform

    iOS: Not supported

    Platform

    Android: Supported

  • Optional zoomEnabled?: boolean

    If false the user won't be able to pinch/zoom the map.

    TODO: Why is the Android reactprop defaultvalue set to false?

    Default

    true
    

    Platform

    iOS: Supported

    Platform

    Android: Supported

  • Optional zoomTapEnabled?: boolean

    If false the user won't be able to double tap to zoom the map. Note: But it will greatly decrease delay of tap gesture recognition.

    Default

    true
    

    Platform

    iOS: Google Maps only

    Platform

    Android: Not supported