# Prerequisites

MapsIndoors uses Google Maps or Mapbox to provide you with an interactive map of the outside and inside world. In this section, you will learn the prerequisites needed to be met before you can start building your app.

### Map Engine API Key​ <a href="#map-engine-api-key" id="map-engine-api-key"></a>

#### Google Maps API Key​ <a href="#google-maps-api-key" id="google-maps-api-key"></a>

Firstly, you need to [setup a new project in the Google Cloud Console](https://developers.google.com/maps/gmp-get-started). Afterwards, you should navigate to the [Maps API Library Page](https://console.cloud.google.com/apis/library?filter=category:maps), and ensure the following APIs and SDK are enabled:

* Google Maps Distance Matrix API
* Google Maps Directions API
* Google Places API Web Service
* Maps SDK for Android/iOS or Maps JavaScript API

Finally, retrieve your API key from the [Credentials Page](https://console.cloud.google.com/project/_/apiui/credential) at, create credentials -> API key

#### Mapbox Maps API Token <a href="#mapbox-api-key" id="mapbox-api-key"></a>

* Follow the [Mapbox guide here](https://docs.mapbox.com/ios/maps/guides/install/) to retrieve an API Token for Mapbox Maps. You can return here when you have added a `MBXAccessToken` to the Info.plist of your app.

### MapsIndoors API Key​ <a href="#mapsindoors-api-key" id="mapsindoors-api-key"></a>

For the purposes of this guide you can use the MapsIndoors API demo key `d876ff0e60bb430b8fabb145`. Alternatively, feel free to [contact MapsPeople](https://resources.mapspeople.com/contact-us) with your building drawings so you can receive a unique API key.


---

# 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://docs.mapsindoors.com/sdks-and-frameworks/ios/getting-started/prerequisites.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.
