# Map SDK

The application supports 3 different map providers out of the box, In this section we will cover how to activate each one of them and also how to activate one as default.

### OpenStreet Map

A free option in case you want to have your solution's running costs minimized. This SDK does not require any additional configuration to work and the source code downloaded is already set to use this option by default.

### Google Maps

Probably the most famous Maps SDK offering great location coverage and decent aesthetics. In order to configure Google Maps you can refer to their official documentation:

{% embed url="<https://pub.dev/packages/google_maps_flutter>" %}

### MapBox

In order to configure the MapBox you will need a secret key which you can retrieve by registering on the [MapBox website](https://account.mapbox.com/auth/signup/). Locate the `.env.prod` file in the `<Project folder>`. Input your API key into the `MAPBOX_TOKEN` variable.

<pre class="language-bash" data-title="constants.dart" data-overflow="wrap" data-line-numbers><code class="lang-bash">DEMO_MODE=true
FIREBASE_MESSAGING_VAPID_KEY=
<strong>MAPBOX_TOKEN=
</strong>MAPLIBRE_API_KEY=
MAPLIBRE_STYLE_URL=https://api.maptiler.com/maps/streets-v2/style.json
MAPLIBRE_STYLE_DARK_URL=https://api.maptiler.com/maps/streets-v2-dark/style.json
</code></pre>

## Activate the default SDK

The logic for selecting the provider is located in `libs/flutter_common/lib/config/constants.dart`. The map provider switch allows for changing the provider according to the target platform.:

```dart
static PlatformMapProviderSettings get mapProviderPlatformSettings => PlatformMapProviderSettings(
    defaultProvider: MapProviderEnum.openStreetMaps,
    desktopProvider: MapProviderEnum.openStreetMaps,
    webProvider: MapProviderEnum.openStreetMaps,
  );
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://flutter-docs.taxi.ridy.io/configuration/map-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
