> For the complete documentation index, see [llms.txt](https://docs.fleaflet.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fleaflet.dev/v3/usage/options/other-options.md).

# Other Options

Visit the Full API Reference for the full list of available options

## Interactivity Settings (`interactiveFlags`)

Takes an integer bitfield, which can be treated similar to enumerables. For example:

```dart
        InteractiveFlag.all & ~InteractiveFlag.rotate
```

allows/enables all interactions except for rotation (keeping the map at the heading specified by `rotation`).

The flags below are available:

<table><thead><tr><th width="214">Flag</th><th>Description</th></tr></thead><tbody><tr><td><code>all</code></td><td>Enables all interactions</td></tr><tr><td><code>none</code></td><td>Disables all interactions</td></tr><tr><td><code>drag</code></td><td>Enables panning with one finger</td></tr><tr><td><code>pinchMove</code></td><td>Enables panning with two or more fingers</td></tr><tr><td><code>flingAnimation</code></td><td>Enables fling animation when <code>drag</code>/<code>pinchMove</code> have enough 'Fling Velocity'</td></tr><tr><td><code>pinchZoom</code></td><td>Enables zooming with a pinch gesture</td></tr><tr><td><code>doubleTapZoom</code></td><td>Enables zooming with a double tap (prevents <code>onTap</code> from firing)</td></tr><tr><td><code>rotate</code></td><td>Enables rotating the map with a twist gesture</td></tr></tbody></table>

Use `&` for 'AND' logic and `~` for 'NOT' logic. Combining these two gates, as shown in the example, can lead to many combinations, each easy to put together.

Defaults to enabling all interactions (`all`).

## Scroll Wheel Settings (`enableScrollWheel` & `scrollWheelVelocity`)

Used together to enable scroll wheel scrolling, and set it's sensitivity/speed.

The first parameter takes a `bool`, enabling or disabling scroll wheel zooming. The second takes a `double`, which is used as a multiplier for changing the zoom level internally.

```dart
        enableScrollWheel: true,
        scrollWheelVelocity: 0.005,
```

Defaults to `true` and 0.005.

## When Position Changed (`onPositionChanged`)

Takes a function with two arguments. Gets called whenever the map position is changed, even if it is not changed by the user.

```dart
        onPositionChanged: (MapPosition position, bool hasGesture) {
            // Your logic here. `hasGesture` dictates whether the change
            // was due to a user interaction or something else. `position` is
            // the new position of the map.
        }
```

## When Map Tapped (`onTap`)

Takes a function with one argument. Gets called whenever the the user taps/clicks/presses on the map.

```dart
        onTap: (TapPosition position, LatLng location) {
            // Your logic here. `location` dictates the coordinate at which the user tapped.
        }
```

## When Map Ready (`onMapReady`)

See [Controller](/v3/usage/controller.md#usage-in-initstate) before using this callback.

This callback can be registered if you need to do something with the map controller as soon as the map is available and initialized; generally though it isn't needed and the map is available after first build.

Takes a function with zero arguments. Gets called from the `initState()` method of the `FlutterMap`.
