---
title: "Configuring Custom Map Layers"
canonical: "https://networkconnect.docs.rubiconwater.com/space/NC/2001470103/Configuring%20Custom%20Map%20Layers"
format: markdown
---
> Macro (toc)

> ℹ️ **Note**
> ℹ️ 
> ℹ️ Please contact Rubicon Support if you are interested in configuring custom map layers.

You can provide custom “map overlay” content in the form of GeoJSON and SVG files. 

> ℹ️ **Example**
> ℹ️ 
> ℹ️ Use this feature to include reaches and channels on your map.

The overlay definition files are listed in an index file called */mapoverlay/index.json*. Files may be internal (stored in the local file system) or external (stored online) and may be in either GeoJSON or SVG format. These files will be read every time the apps are loaded by the browser so you can publish content that changes over time. 

> ℹ️ **Note**
> ℹ️ 
> ℹ️ Users must re-load their browsers to see updates.

There are toggle buttons on the map to toggle the overlay on or off and for svg overlays you can restrict the visibility of the overlay based on zoom level and user role.

> ℹ️ **Note**
> ℹ️ 
> ℹ️ There are separate buttons to toggle the GeoJSON and the svg files. Currently you cannot toggle individual files/layers but this feature will be available in a later release.

## Index File format

All listed files must have the following properties:

(See also [GeoJSON File Additional Properties](https://rubiconwater.atlassian.net/wiki/spaces/NC/pages/2583560193))

| **Property** | **Description** | **Required** |
| --- | --- | --- |
| isExternal | False if the file is stored locally or true if it is filed online. | Yes |
| location | File location - either a path in the local file system or a URL. | Yes |

In addition, svg files have the following properties:

| **Property** | **Description** | **Required** |
| --- | --- | --- |
| bounds | The location of two diagonal boundary corners that define the overlay area. | Yes |
| zoom | The zoom levels at which this overlay is displayed.<br>> ℹ️ **What is Zoom Level?**
> ℹ️ 
> ℹ️ Web Mercator Zoom Level is a measure of how closely you have zoomed into the map. At a zoom level of zero the whole Earth fits onto the map and at the highest zoom level (typically 20 to 22) you will be zoomed in to show the details of single buildings. See for example [https://learn.microsoft.com/en-us/azure/azure-maps/zoom-levels-and-tile-grid?tabs=csharp](https://learn.microsoft.com/en-us/azure/azure-maps/zoom-levels-and-tile-grid?tabs=csharp) for more information about zoom levels. | No |
| scopes | The roles that users must have for the overlay to be displayed. | No |

**Example:**

```
[    
    {
        "isExternal": false,
        "location": "file1.geojson"
    },
    {
        "isExternal": true,
        "location": "http://somedomain.com/file2.geojson"
    },
    {
        "isExternal": false,
        "location": "file3.svg",
        "bounds": [["42.447215","69.168029"],["43.454911","67.939484"]]
        "zoom": {"min": 7, "max": 9},
        "scopes": ["view_object", "meter-readings.read"]
    }
]
```