Allows for the creation and decoration of static map images.
The example below shows how you can use this class to create a map of New York City's Theatre District, including nearby train stations, and display it in a simple web app.
// Create a map centered on Times Square. const map = Maps.newStaticMap().setSize(600, 600).setCenter( 'Times Square, New York, NY'); // Add markers for the nearbye train stations. map.setMarkerStyle( Maps.StaticMap.MarkerSize.MID, Maps.StaticMap.Color.RED, 'T', ); map.addMarker('Grand Central Station, New York, NY'); map.addMarker('Penn Station, New York, NY'); // Show the boundaries of the Theatre District. const corners = [ '8th Ave & 53rd St, New York, NY', '6th Ave & 53rd St, New York, NY', '6th Ave & 40th St, New York, NY', '8th Ave & 40th St, New York, NY', ]; map.setPathStyle(4, Maps.StaticMap.Color.BLACK, Maps.StaticMap.Color.BLUE); map.beginPath(); for (let i = 0; i < corners.length; i++) { map.addAddress(corners[i]); } // All static map URLs require an API key. const url = `${map.getMapUrl()}&key=YOUR_API_KEY`;
See also
Methods
Method | Return type | Brief description |
---|---|---|
add | Static | Adds a new address to the current path definition. |
add | Static | Adds a marker to the map using a point (lat/lng). |
add | Static | Adds a marker to the map using an address. |
add | Static | Adds a path to the map using an array of points. |
add | Static | Adds a path to the map using an encoded polyline. |
add | Static | Adds a new point (lat/lng) to the current path definition. |
add | Static | Adds a point (lat/lng) location that must be visible in the map. |
add | Static | Adds an address location that must be visible in the map. |
begin | Static | Starts a new path definition. |
clear | Static | Clears the current set of markers. |
clear | Static | Clear the current set of paths. |
clear | Static | Clears the current set of visible locations. |
end | Static | Completes a path definition started with beginPath(). |
get | Blob | Return the data inside this object as a blob converted to the specified content type. |
get | Blob | Gets the image data as a Blob . |
get | Byte[] | Gets the raw image data as a byte array. |
get | String | Gets the URL of the map image. |
set | Static | Sets the center of the map using a point (lat/lng). |
set | Static | Sets the center of the map using an address. |
set | Static | Sets the custom marker image to use when creating new markers. |
set | Static | Sets the format of the map image. |
set | Static | Sets the language to be used for text on the map (where available). |
set | Static | Sets the type of map to be shown. |
set | Static | Sets the marker style to use when creating new markers. |
set | Static | Sets whether or not to use specialized tile sets for mobile devices. |
set | Static | Sets the path style to use when creating new paths. |
set | Static | Sets the width and height of the map image in pixels. |
set | Static | Sets the zoom factor, or magnification level, used for the map. |
Detailed documentation
addAddress(address)
Adds a new address to the current path definition.
// Creates a map and adds a path from New York to Boston. const map = Maps.newStaticMap() .beginPath() .addAddress('New York, NY') .addAddress('Boston, MA') .endPath();
Parameters
Name | Type | Description |
---|---|---|
address | String | An address to add. |
Return
Static
— This map instance, for chaining.
addMarker(latitude, longitude)
Adds a marker to the map using a point (lat/lng).
// Creates a map and adds a marker at the specified coordinates. const map = Maps.newStaticMap().addMarker(40.741799, -74.004207);
Parameters
Name | Type | Description |
---|---|---|
latitude | Number | The latitude of the new marker. |
longitude | Number | The longitude of the new marker. |
Return
Static
— This map instance, for chaining.
See also
addMarker(address)
Adds a marker to the map using an address.
// Creates a map and adds a marker at the specified address. const map = Maps.newStaticMap().addMarker('76 9th Ave, New York NY');
Parameters
Name | Type | Description |
---|---|---|
address | String | The address at which to place the new marker. |
Return
Static
— This map instance, for chaining.
See also
addPath(points)
Adds a path to the map using an array of points.
// Creates a map and adds a path from New York to Boston. const map = Maps.newStaticMap().addPath([ 40.714353, -74.005973, 42.358431, -71.059773, ]);
Parameters
Name | Type | Description |
---|---|---|
points | Number[] | An array of latitude/longitude pairs that define the path. |
Return
Static
— This map instance, for chaining.
addPath(polyline)
Adds a path to the map using an encoded polyline.
// Creates a map and adds a path from New York to Boston. const polyline = Maps.encodePolyline([ 40.714353, -74.005973, 42.358431, -71.059773, ]); const map = Maps.newStaticMap().addPath(polyline);
Parameters
Name | Type | Description |
---|---|---|
polyline | String | An encoded polyline. |
Return
Static
— This map instance, for chaining.
addPoint(latitude, longitude)
Adds a new point (lat/lng) to the current path definition.
// Creates a map and adds a path from New York to Boston. const map = Maps.newStaticMap() .beginPath() .addPoint(40.714353, -74.005973) .addPoint(42.358431, -71.059773) .endPath();
Parameters
Name | Type | Description |
---|---|---|
latitude | Number | The latitude of the point. |
longitude | Number | The longitude of the point. |
Return
Static
— This map instance, for chaining.
addVisible(latitude, longitude)
Adds a point (lat/lng) location that must be visible in the map.
// Creates a map where New York and Boston are visible. const map = Maps.newStaticMap() .addVisible(40.714353, -74.005973) .addVisible(42.358431, -71.059773);
Parameters
Name | Type | Description |
---|---|---|
latitude | Number | The latitude of the point. |
longitude | Number | The longitude of the point. |
Return
Static
— This map instance, for chaining.
See also
addVisible(address)
Adds an address location that must be visible in the map.
// Creates a map where New York and Boston are visible. const map = Maps.newStaticMap().addVisible('New York, NY').addVisible('Boston, MA');
Parameters
Name | Type | Description |
---|---|---|
address | String | An address that must be visible in the map. |
Return
Static
— This map instance, for chaining.
See also
beginPath()
Starts a new path definition. Calls to add
and add
define each
new vertex in the path. The path is completed when end
is called.
// Creates a map and adds a path from New York to Boston. const map = Maps.newStaticMap() .beginPath() .addAddress('New York, NY') .addAddress('Boston, MA') .endPath();
Return
Static
— This map instance, for chaining.
clearMarkers()
Clears the current set of markers.
const map = Maps.newStaticMap(); // ... // Do something interesting here ... // ... // Remove all markers on the map. map.clearMarkers();
Return
Static
— This map instance, for chaining.
clearPaths()
Clear the current set of paths.
const map = Maps.newStaticMap(); // ... // Do something interesting here ... // ... // Remove all paths on the map. map.clearPaths();
Return
Static
— This map instance, for chaining.
clearVisibles()
Clears the current set of visible locations.
const map = Maps.newStaticMap(); // ... // Do something interesting here ... // ... // Remove all visible locations created with addVisible(). map.clearVisibles();
Return
Static
— This map instance, for chaining.
endPath()
Completes a path definition started with beginPath().
// Creates a map and adds a path from New York to Boston. const map = Maps.newStaticMap() .beginPath() .addAddress('New York, NY') .addAddress('Boston, MA') .endPath();
Return
Static
— This map instance, for chaining.
getAs(contentType)
Return the data inside this object as a blob converted to the specified content type. This method adds the appropriate extension to the filename—for example, "myfile.pdf". However, it assumes that the part of the filename that follows the last period (if any) is an existing extension that should be replaced. Consequently, "ShoppingList.12.25.2014" becomes "ShoppingList.12.25.pdf".
To view the daily quotas for conversions, see Quotas for Google Services. Newly created Google Workspace domains might be temporarily subject to stricter quotas.
Parameters
Name | Type | Description |
---|---|---|
content | String | The MIME type to convert to. For most blobs, 'application/pdf' is
the only valid option. For images in BMP, GIF, JPEG, or PNG format, any of 'image/bmp' , 'image/gif' , 'image/jpeg' , or 'image/png' are also
valid. For a Google Docs document, 'text/markdown' is also valid. |
Return
Blob
— The data as a blob.
getBlob()
Gets the image data as a Blob
.
// Creates a map centered on Times Square and saves it to Google Drive. const map = Maps.newStaticMap().setCenter('Times Square, New York, NY'); DriveApp.createFile(map); // You can call map.getBlob() explicitly or use it // implicitly by passing the map where a blob is expected.
Return
Blob
— An image of the map in the selected image format.
getMapImage()
Gets the raw image data as a byte array.
In general, prefer using get
which allows for simpler interactions with other
services.
// Creates a map centered on Times Square and saves it to Google Drive. const map = Maps.newStaticMap().setCenter('Times Square, New York, NY'); DriveApp.createFile( Utilities.newBlob(map.getMapImage(), 'image/png', 'map.png'), );
Return
Byte[]
— An image of the map in the selected image format.
getMapUrl()
Gets the URL of the map image.
// Creates a map centered on Times Square and gets the URL. const map = Maps.newStaticMap().setCenter('Times Square, New York, NY'); // All static map URLs require an API key. Logger.log(`${map.getMapUrl()}&key=YOUR_API_KEY`);
Return
String
— URL The map image URL.
setCenter(latitude, longitude)
Sets the center of the map using a point (lat/lng).
// Creates a map centered on Times Square, using its coordinates. const map = Maps.newStaticMap().setCenter(40.759011, -73.984472);
Parameters
Name | Type | Description |
---|---|---|
latitude | Number | The latitude of the center. |
longitude | Number | The longitude of the center. |
Return
Static
— This map instance, for chaining.
See also
setCenter(address)
Sets the center of the map using an address.
// Creates a map centered on Times Square, using its address. const map = Maps.newStaticMap().setCenter('Times Square, New York, NY');
Parameters
Name | Type | Description |
---|---|---|
address | String | The address of the center. |
Return
Static
— This map instance, for chaining.
See also
setCustomMarkerStyle(imageUrl, useShadow)
Sets the custom marker image to use when creating new markers. Markers that have already been added are not affected.
// Creates a map with markers set to be medium sized, black, and labeled with // the number "1". const map = Maps.newStaticMap().setCustomMarkerStyle( 'http://www.example.com/marker.png', false, );
Parameters
Name | Type | Description |
---|---|---|
image | String | Specifies a URL to use as the marker's custom icon. Images may be in PNG, JPEG or GIF formats, though PNG is recommended. |
use | Boolean | Indicates that the marker should have a shadow generated, based on the image's visible region and its opacity/transparency. |
Return
Static
— This map instance, for chaining.
See also
setFormat(format)
setLanguage(language)
Sets the language to be used for text on the map (where available).
// Creates a map with the language set to French. const map = Maps.newStaticMap().setLanguage('fr');
Parameters
Name | Type | Description |
---|---|---|
language | String | A BCP-47 language identifier. |
Return
Static
— This map instance, for chaining.
See also
setMapType(mapType)
setMarkerStyle(size, color, label)
Sets the marker style to use when creating new markers. Markers that have already been added are not affected.
// Creates a map with markers set to be medium sized, black, and labeled with // the number "1". const map = Maps.newStaticMap().setMarkerStyle( Maps.StaticMap.MarkerSize.MID, Maps.StaticMap.Color.BLACK, '1', );
Parameters
Name | Type | Description |
---|---|---|
size | String | A constant value from Marker . |
color | String | A string in the format "0xrrggbb" or a constant value from Color . |
label | String | A string containing a single character A-Z or 0-9. |
Return
Static
— This map instance, for chaining.
See also
setMobile(useMobileTiles)
Sets whether or not to use specialized tile sets for mobile devices.
// Creates a map that uses mobile-friendly tiles. const map = Maps.newStaticMap().setMobile(true);
Parameters
Name | Type | Description |
---|---|---|
use | Boolean | Whether or not to use mobile tiles. |
Return
Static
— This map instance, for chaining.
setPathStyle(weight, color, fillColor)
Sets the path style to use when creating new paths. Paths that have already been added are not affected.
// Creates a map with paths set to be 1 pixel wide with a black line and a white // fill. const map = Maps.newStaticMap().setPathStyle( 1, Maps.StaticMap.Color.BLACK, 'red', );
Parameters
Name | Type | Description |
---|---|---|
weight | Integer | The width of lines in pixels. |
color | String | The line color, as a string in the format "0xrrggbb" or a constant value from
Color . |
fill | String | The fill color, a string in the format "0xrrggbb" or a constant value from
Color . |
Return
Static
— This map instance, for chaining.
See also
setSize(width, height)
Sets the width and height of the map image in pixels.
// Creates a map 400px wide by 300px high. const map = Maps.newStaticMap().setSize(400, 300);
Parameters
Name | Type | Description |
---|---|---|
width | Integer | The width of the image in pixels. |
height | Integer | The height of the image in pixels. |
Return
Static
— This map instance, for chaining.
See also
setZoom(zoom)
Sets the zoom factor, or magnification level, used for the map.
// Creates a map with a zoom factor of 10. const map = Maps.newStaticMap().setZoom(10);
Parameters
Name | Type | Description |
---|---|---|
zoom | Integer | A value from zero to 21, inclusive. |
Return
Static
— This map instance, for chaining.