# Base Widget

<pre class="language-dart"><code class="lang-dart"><strong>FlutterMap(
</strong>    mapController: _mapController,
    options: MapOptions(),
    children: [],
    nonRotatedChildren: [],
);
</code></pre>

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th><select><option value="6aa45c710ec84d41a0f0bf5fccccd3a3" label="Required" color="blue"></option><option value="fbe51eeb748f473da4c77360a30747e7" label="Optional" color="blue"></option></select></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><code>options</code> (<code>MapOptions</code>)</td><td><span data-option="6aa45c710ec84d41a0f0bf5fccccd3a3">Required</span></td><td>Configure options that don't directly affect the appearance of the map, such as starting location and maximum zoom limit.</td><td><a href="options">options</a></td></tr><tr><td><code>mapController</code></td><td><span data-option="fbe51eeb748f473da4c77360a30747e7">Optional</span></td><td>Attach a controller object to control the map programatically, including panning and zooming.</td><td><a href="controller">controller</a></td></tr><tr><td><code>children</code></td><td><span data-option="6aa45c710ec84d41a0f0bf5fccccd3a3">Required</span></td><td>Takes a <code>List</code> of <code>Widgets</code> (usually a dedicated 'layer') to display on the map, such as tile layers or polygon layers,</td><td><a href="layers">layers</a></td></tr><tr><td><code>nonRotatedChildren</code></td><td><span data-option="fbe51eeb748f473da4c77360a30747e7">Optional</span></td><td>Similar to <code>children</code>, but these don't rotate or move with the other layers.</td><td></td></tr></tbody></table>

{% hint style="warning" %}
Do not use `nonRotatedChildren` to enforce a non-rotatable map. Instead, use [`interactiveFlags` inside `MapOptions`](https://docs.fleaflet.dev/v3/options/other-options#interactivity-settings-interactiveflags).
{% endhint %}

## Placement Recommendations

It is recommended to make the map as large as possible, to allow it to display a lot of useful information easily.

As such, we recommend using a depth-based layout (eg. using `Stack`s) instead of a flat-based layout (eg. using `Column`s). The following 3rd party packages might help with creating a modern design:

* <https://pub.dev/packages/backdrop>
* <https://pub.dev/packages/sliding_up_panel>
* <https://pub.dev/packages/material_floating_search_bar>

If you must restrict the widget's size, you won't find a `height` or `width` property. Instead, use a `SizedBox` or `Column`/`Row` & `Expanded`.
