<!--
{
  "availability" : [
    "MapKit JS: 5.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKitJS",
  "identifier" : "/documentation/MapKitJS/TileOverlay",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "MapKit JS"
    ],
    "preciseIdentifier" : "cl/mapkit.TileOverlay"
  },
  "title" : "TileOverlay"
}
-->

# TileOverlay

An overlay that covers an area of the map with bitmapped tiles.

```
class TileOverlay extends EventTarget
```

## Overview

You use tile overlay objects to represent your own tile-based content and to coordinate the display of that content on a map. Your tiles can supplement the underlying map content or replace it completely. You can use a single tile overlay object to represent all of the tiles at one or more zoom levels of the map.

## Topics

### Creating a tile overlay

[`TileOverlay()`](/documentation/MapKitJS/TileOverlay/TileOverlayConstructor)

Creates a tile overlay with a URL template or image callback and style options.

[`TileOverlayConstructorOptions`](/documentation/MapKitJS/TileOverlayConstructorOptions)

Attributes for initializing a tile overlay, including minimum and maximum zoom, opacity, and custom data.

[`TileOverlayUrlTemplate`](/documentation/MapKitJS/TileOverlayUrlTemplate)

A type that specifies the URL template for a tile overlay.

[`TileOverlayImageCallback`](/documentation/MapKitJS/TileOverlayImageCallback)

A callback function that provides tile images for a tile overlay.

### Events

[`TileOverlayErrorEvent`](/documentation/MapKitJS/TileOverlayErrorEvent)

An event object that notifies the developer of an error that occurred while loading tiles.

### Customizing the tile overlay

[`imageForTile`](/documentation/MapKitJS/TileOverlay/imageForTile)

A string, or callback function, that provides the requested tile.

[`data`](/documentation/MapKitJS/TileOverlay/data)

A dictionary of custom properties to use with the URL template.

[`reload()`](/documentation/MapKitJS/TileOverlay/reload)

Reloads the tile overlay for the displayed map region with the latest data values.

### Setting overlay appearance

[`opacity`](/documentation/MapKitJS/TileOverlay/opacity)

A number that indicates a tile’s opacity.

[`maximumZ`](/documentation/MapKitJS/TileOverlay/maximumZ)

The maximum zoom level for a tile overlay.

[`minimumZ`](/documentation/MapKitJS/TileOverlay/minimumZ)

The minimum zoom level for a tile overlay.

### Deprecated

[`urlTemplate`](/documentation/MapKitJS/TileOverlay/urlTemplate)

A string, or callback function, that provides the requested tile.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)