## Static Maps Static views of CARTO maps can be generated using the [Static Maps API](https://carto.com/docs/carto-engine/maps-api/static-maps-api/) within CARTO.js. The map's style, including the zoom and bounding box, follows from what was set in the `viz.json` file, but you can change the zoom, center, and size of your image with a few lines of code. You can also change your basemap Images can be placed in specified DOM elements on your page, or you can generate a URL for the image. ### Quick Start The easiest way to generate an image is by using the following piece of code, which generates is replaced by an `img` tag once run in an HTML file: ```javascript ``` ##### Result ```html ``` #### cartodb.Image(_layerSource[, options]_) ##### Arguments Name |Description --- | --- layerSource | can be either a `viz.json` object or a [MapConfig object](https://carto.com/docs/carto-engine/maps-api/mapconfig#mapnik-layer-options).

**Note:** If defining an image through the MapConfig layer definition, you must set the `tiler_domain`, `tiler_port`, and `tiler_protocol`, as displayed in this [example](https://github.com/CartoDB/cartodb.js/blob/4ba5148638091fd2c194f48b2fa3ed6ac4ecdb23/examples/layer_definition.html). Otherwise the Static Image API tries to use your localhost to source the tiles and an error appears. options | --- | --- |_ basemap | change the basemap specified in the layer definition. Type: Object defining base map properties (see example below). |_ no_cdn | Disable CDN usage. Type: Boolean. Default: `false` (use CDN) |_ override_bbox | Override default of using the bounding box of the visualization. This is needed to use `Image.center` and `Image.zoom`. Type: Boolean. Default: `false` (use bounding box) ##### Returns An `Image` object ##### Example ```javascript ``` --- ### cartodb.Image #### Image.size(_width, height_) Sets the size of the image. ##### Arguments Name |Description --- | --- width | the width of the resulting image in pixels height | the height of the resulting image in pixels ##### Returns An `Image` object #### Image.center(_latLng_) Sets the center of the map. ##### Arguments Name |Description --- | --- latLng | an array of the latitude and longitude of the center of the map. Example: `[40.4378271, -3.6795367]` ##### Returns An `Image` object #### Image.zoom(_zoomLevel_) Sets the zoom level of the static map. Must be used with the option `override_bbox: true` if not using `Image.center` or `Image.bbox`. ##### Arguments Name |Description --- | --- zoomLevel | the zoom of the resulting static map. `zoomLevel` must be an integer in the range [0,24]. ##### Returns An `Image` object #### Image.bbox(_boundingBox_) If you set `bbox`, `center` and `zoom` will be overridden. ##### Arguments Name |Description --- | --- boundingBox | an array of coordinates making up the bounding box for your map. `boundingBox` takes the form: `[sw_lat, sw_lon, ne_lat, ne_lon]`. ##### Returns An `Image` object #### Image.into(_HTMLImageElement_) Inserts the image into the HTML DOM element specified. ##### Arguments Name |Description --- | --- HTMLImageElement | the DOM element where your image is to be located. ##### Returns An `Image` object ##### Example ```javascript cartodb.Image(vizjson_url).into(document.getElementById('map_preview')) ``` #### Image.write(_attributes_) Adds an `img` tag in the same place script is executed. It's possible to specify a class name (`class`) and/or an id attribute (`id`) for the resulting image: ##### Arguments Name |Description --- | --- class | the DOM class applied to the resulting `img` tag. id | the DOM id applied to the resulting `img` tag. src | path to a temporary image that acts as a placeholder while the static map is retrieved. ##### Returns An `Image` object ##### Example ```javascript ``` #### Image.getUrl(_callback(err, url)_) Gets the URL for the image requested. ##### Callback Arguments Name |Description --- | --- err | error associated with the image request, if any. url | URL of the generated image. ##### Returns An `Image` object ##### Example ```javascript ``` #### Image.format(_format_) Gets the URL for the image requested. ##### Arguments Name |Description --- | --- format | image format of resulting image. One of `png` (default) or `jpg` (which have a quality of 85 dpi) ##### Returns An `Image` object