# Display Ellipsis Drive layers in your application

Ellipsis Drive layers can be integrated directly into your application using standard web mapping approaches.

At a high level, you:

* Reference a layer using its ID
* Choose how it is rendered (library or protocol)
* Apply optional styling and access control

***

### Choose your integration approach

There are two common ways to display layers:

#### 1.) Use a [JavaScript mapping library](https://github.com/ellipsis-drive)

Mapping libraries provide the fastest way to integrate and render layers.

* Use Leaflet for lightweight implementations
* Use MapLibre for more advanced rendering and control

These libraries handle rendering, styling, and interaction out of the box.

#### 2.) Use direct protocols

If you are building from scratch or require full control:

* Use [XYZ tiles](https://docs.ellipsis-drive.com/developers/api-v3/path-raster/timestamps/tile-service) for raster data
* Use [vector tiles](https://docs.ellipsis-drive.com/developers/api-v3/ogc-protocols/mvt/retrieve-mvt-protobuf) for vector data

***

#### Required identifiers

To display a layer, you need:

* **Layer ID** (required)
* **Timestamp ID** (optional, for time-based data)
* **Style ID** (optional, for predefined styling)

These identifiers are available via the layer metadata, either through the [API](https://docs.ellipsis-drive.com/developers/api-v3/path/get-path) or within the [Ellipsis Drive application](https://app.ellipsis-drive.com/).

***

#### Styling options

You can control how layers are rendered in two ways:

* **Style ID**\
  Reference an existing style stored on the server
* **Style object**\
  Define a custom style dynamically within your application

Custom styles are useful for:

* user-driven styling
* dynamic visualisation based on context (for example viewport or filters)

***

#### Authentication

If a layer is not set to public or link sharing, [authenticated access](https://docs.ellipsis-drive.com/developers/authentication-options) is required.

In this case, [include an access token](https://docs.ellipsis-drive.com/developers/api-v3/account/access-tokens) in your requests.\
Tokens are typically used when controlled, programmatic access is required.

Access tokens are recommended for application-level integration.

***

#### Organizing content with folders

For applications managing multiple users or datasets, folders provide a scalable structure.

Example approach:

* [Create a folder](https://docs.ellipsis-drive.com/developers/api-v3/path-folder/create-new-folder) per user or client
* Store the corresponding folder ID in your backend
* [Generate an access token](https://docs.ellipsis-drive.com/developers/api-v3/account/access-tokens) scoped to that folder
* Use the folder ID and token to retrieve and display content

Content can be accessed by:

* [Listing folder contents](https://docs.ellipsis-drive.com/developers/api-v3/path-folder/list-folder)
* [Traversing structured paths](https://docs.ellipsis-drive.com/developers/api-v3/path-folder/traverse-folder) (for example {category}/{year})

***

{% hint style="info" %}

### Extending functionality

Once layers are integrated, you can extend your application with:

* [data querying](https://docs.ellipsis-drive.com/developers/integration-options/query-layers-from-your-app)
* dynamic styling
* analytical workflows
  {% endhint %}


---

# 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.ellipsis-drive.com/developers/common-integrations/display-ellipsis-drive-layers-in-your-application.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.
