---
title: "new TileOverlay(imageForTile, options)"
framework: mapkitjs
role: symbol
role_heading: Constructor
path: mapkitjs/tileoverlay/tileoverlayconstructor
---

# new TileOverlay(imageForTile, options)

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

## Declaration

```data
constructor(
    imageForTile: TileOverlayUrlTemplate | TileOverlayImageCallback,
    options?: TileOverlayConstructorOptions,
);
```

## Parameters

- `imageForTile`: A doc://com.apple.mapkitjs/documentation/MapKitJS/TileOverlayUrlTemplate string or URL callback, or a doc://com.apple.mapkitjs/documentation/MapKitJS/TileOverlayImageCallback that returns image sources directly. MapKit JS requests new tiles when the map zooms or pans, the display changes, or the custom doc://com.apple.mapkitjs/documentation/MapKitJS/TileOverlay/data properties change.
- `options`: An optional doc://com.apple.mapkitjs/documentation/MapKitJS/TileOverlayConstructorOptions object literal of properties for initializing the tile overlay.

## See Also

### Creating a tile overlay

- [TileOverlayConstructorOptions](mapkitjs/tileoverlayconstructoroptions.md)
- [TileOverlayUrlTemplate](mapkitjs/tileoverlayurltemplate.md)
- [TileOverlayImageCallback](mapkitjs/tileoverlayimagecallback.md)
