Google Maps JavaScript API V3 Reference

Experimental Version

Last updated Monday, March 16, 2015

Welcome to the reference for the experimental release of the Google
JavaScript Maps API V3. This reference is kept up-to-date with the latest
changes to the API. Please consult the
Javascript
Maps API V3 Changelog for information on what's new in each release.

Methods

Returns the lat/lng bounds of the current viewport. If more than one copy of the world is visible, the bounds range in longitude from -180 to 180 degrees inclusive. If the map is not yet initialized (i.e. the mapType is still null), or center and zoom have not been set then the result is null or undefined.

Returns the default StreetViewPanorama bound to the map, which may be a default panorama embedded within the map, or the panorama set using setStreetView(). Changes to the map's streetViewControl will be reflected in the display of such a bound panorama.

getTilt()

number

Returns the current angle of incidence of the map, in degrees from the viewport plane to the map plane. The result will be 0 for imagery taken directly overhead or 45 for 45° imagery. 45° imagery is only available for SATELLITE and HYBRID map types, within some locations, and at some zoom levels. Note: This method does not return the value set by setTilt. See setTilt for details.

getZoom()

number

panBy(x:number, y:number)

None

Changes the center of the map by the given distance in pixels. If the distance is less than both the width and height of the map, the transition will be smoothly animated. Note that the map coordinate system increases from west to east (for x values) and north to south (for y values).

Pans the map by the minimum amount necessary to contain the given LatLngBounds. It makes no guarantee where on the map the bounds will be, except that as much of the bounds as possible will be visible. The bounds will be positioned inside the area bounded by the map type and navigation (pan, zoom, and Street View) controls, if they are present on the map. If the bounds is larger than the map, the map will be shifted to include the northwest corner of the bounds. If the change in the map's position is less than both the width and height of the map, the transition will be smoothly animated.

Binds a StreetViewPanorama to the map. This panorama overrides the default StreetViewPanorama, allowing the map to bind to an external panorama outside of the map. Setting the panorama to null binds the default embedded panorama back to the map.

setTilt(tilt:number)

None

Controls the automatic switching behavior for the angle of incidence of the map. The only allowed values are 0 and 45. setTilt(0) causes the map to always use a 0° overhead view regardless of the zoom level and viewport. setTilt(45) causes the tilt angle to automatically switch to 45 whenever 45° imagery is available for the current zoom level and viewport, and switch back to 0 whenever 45° imagery is not available (this is the default behavior). 45° imagery is only available for SATELLITE and HYBRID map types, within some locations, and at some zoom levels. Note:getTilt returns the current tilt angle, not the value set by setTilt. Because getTilt and setTilt refer to different things, do not bind() the tilt property; doing so may yield unpredictable effects.

If false, prevents the map from being dragged. Dragging is enabled by default.

draggableCursor

string

The name or url of the cursor to display when mousing over a draggable map. This property uses the css cursor attribute to change the icon. As with the css property, you must specify at least one fallback cursor that is not a URL. For example: draggableCursor: 'url(http://www.example.com/icon.png), auto;'.

draggingCursor

string

The name or url of the cursor to display when the map is being dragged. This property uses the css cursor attribute to change the icon. As with the css property, you must specify at least one fallback cursor that is not a URL. For example: draggingCursor: 'url(http://www.example.com/icon.png), auto;'.

heading

number

The heading for aerial imagery in degrees measured clockwise from cardinal direction North. Headings are snapped to the nearest available angle for which imagery is available.

keyboardShortcuts

boolean

If false, prevents the map from being controlled by the keyboard. Keyboard shortcuts are enabled by default.

A StreetViewPanorama to display when the Street View pegman is dropped on the map. If no panorama is specified, a default StreetViewPanorama will be displayed in the map's div when the pegman is dropped.

streetViewControl

boolean

The initial enabled/disabled state of the Street View Pegman control. This control is part of the default UI, and should be set to false when displaying a map type on which the Street View road overlay should not appear (e.g. a non-Earth map type).

Styles to apply to each of the default map types. Note that for Satellite/Hybrid and Terrain modes, these styles will only apply to labels and geometry.

tilt

number

Controls the automatic switching behavior for the angle of incidence of the map. The only allowed values are 0 and 45. The value 0 causes the map to always use a 0° overhead view regardless of the zoom level and viewport. The value 45 causes the tilt angle to automatically switch to 45 whenever 45° imagery is available for the current zoom level and viewport, and switch back to 0 whenever 45° imagery is not available (this is the default behavior). 45° imagery is only available for SATELLITE and HYBRID map types, within some locations, and at some zoom levels. Note:getTilt returns the current tilt angle, not the value specified by this option. Because getTilt and this option refer to different things, do not bind() the tilt property; doing so may yield unpredictable effects.

google.maps.StreetViewControlOptions
object specification

Properties

Position id. Used to specify the position of the control on the map. The default position is embedded within the navigation (zoom and pan) controls. If this position is empty or the same as that specified in the zoomControlOptions or panControlOptions, the Street View control will be displayed as part of the navigation controls. Otherwise, it will be displayed separately.

google.maps.ZoomControlStyle
class

Constant

The default zoom control. The control which DEFAULT maps to will vary according to map size and other factors. It may change in future versions of the API.

LARGE

The larger control, with the zoom slider in addition to +/- buttons.

SMALL

A small control with buttons to zoom in and out.

google.maps.ControlPosition
class

Identifiers used to specify the placement of controls on the map. Controls are positioned relative to other controls in the same layout position. Controls that are added first are positioned closer to the edge of the map. +----------------+ + TL TC TR + + LT RT + + + + LC RC + + + + LB RB + + BL BC BR + +----------------+ Elements in the top or bottom row flow towards the middle of the row. Elements in the left or right column flow towards the middle of the column.

Constant

Constant

Description

BOTTOM_CENTER

Elements are positioned in the center of the bottom row.

BOTTOM_LEFT

Elements are positioned in the bottom left and flow towards the middle. Elements are positioned to the right of the Google logo.

BOTTOM_RIGHT

Elements are positioned in the bottom right and flow towards the middle. Elements are positioned to the left of the copyrights.

LEFT_BOTTOM

Elements are positioned on the left, above bottom-left elements, and flow upwards.

LEFT_CENTER

Elements are positioned in the center of the left side.

LEFT_TOP

Elements are positioned on the left, below top-left elements, and flow downwards.

RIGHT_BOTTOM

Elements are positioned on the right, above bottom-right elements, and flow upwards.

RIGHT_CENTER

Elements are positioned in the center of the right side.

RIGHT_TOP

Elements are positioned on the right, below top-right elements, and flow downwards.

TOP_CENTER

Elements are positioned in the center of the top row.

TOP_LEFT

Elements are positioned in the top left and flow towards the middle.

TOP_RIGHT

Elements are positioned in the top right and flow towards the middle.

google.maps.Data
class

A layer for displaying geospatial data. Points, line-strings and polygons can be displayed.

Every Map has a Data object by default, so most of the time there is no need to construct one. For example:

Methods

If the feature has an ID, it will replace any existing feature in the collection with the same ID. If no feature is given, a new feature will be created with null geometry and no properties. If FeatureOptions are given, a new feature will be created with the specified properties.

Note that the IDs 1234 and '1234' are equivalent. Adding a feature with ID 1234 will replace a feature with ID '1234', and vice versa.

Returns which drawing modes are available for the user to select, in the order they are displayed. This does not include the null drawing mode, which is added by default. Possible drawing modes are "Point", "LineString" or "Polygon".

getDrawingMode()

string

Returns the current drawing mode of the given Data layer. A drawing mode of null means that the user can interact with the map as normal, and clicks do not draw anything. Possible drawing modes are null, "Point", "LineString" or "Polygon".

Sets which drawing modes are available for the user to select, in the order they are displayed. This should not include the null drawing mode, which is added by default. If null, drawing controls are disabled and not displayed. Possible drawing modes are "Point", "LineString" or "Polygon".

setDrawingMode(drawingMode:string)

None

Sets the current drawing mode of the given Data layer. A drawing mode of null means that the user can interact with the map as normal, and clicks do not draw anything. Possible drawing modes are null, "Point", "LineString" or "Polygon".

google.maps.Data.DataOptions
object specification

Properties

The position of the drawing controls on the map. The default position is TOP_LEFT.

controls

Array<string>

Describes which drawing modes are available for the user to select, in the order they are displayed. This should not include the null drawing mode, which is added by default. If null, drawing controls are disabled and not displayed. Defaults to null. Possible drawing modes are "Point", "LineString" or "Polygon".

drawingMode

string

The current drawing mode of the given Data layer. A drawing mode of null means that the user can interact with the map as normal, and clicks do not draw anything. Defaults to null. Possible drawing modes are null, "Point", "LineString" or "Polygon".

When drawing is enabled and a user draws a Geometry (a Point, Line String or Polygon), this function is called with that Geometry and should return a Feature that is to be added to the Data layer. If a featureFactory is not supplied, a Feature with no id and no properties will be created from that Geometry instead. Defaults to null.

Defines the image map used for hit detection. Only applies to point geometries.

strokeColor

string

The stroke color. All CSS3 colors are supported except for extended named colors. Only applies to line and polygon geometries.

strokeOpacity

number

The stroke opacity between 0.0 and 1.0. Only applies to line and polygon geometries.

strokeWeight

number

The stroke width in pixels. Only applies to line and polygon geometries.

title

string

Rollover text. Only applies to point geometries.

visible

boolean

Whether the feature is visible. Defaults to true.

zIndex

number

All features are displayed on the map in order of their zIndex, with higher values displaying in front of features with lower values. Markers are always displayed in front of line-strings and polygons.

google.maps.Data.StylingFunction
typedef

A function that computes the appearance of a feature.

The Data.setStyle() method can accept a styling function. Use
this when features should appear differently depending on their properties.
You can find more information about styling features in the developer's
guide.

google.maps.Data.FeatureOptions
object specification

Properties

The feature geometry. If none is specified when a feature is constructed, the feature's geometry will be null. If a LatLng object or LatLngLiteral is given, this will be converted to a Data.Point geometry.

id

number|string

Feature ID is optional. If provided, it can be used to look up the feature in a Data object using the getFeatureById() method. Note that a feature's ID cannot be subsequently changed.

properties

Object

The feature properties. This is an arbitrary mapping of property names to values.

Contains all the information needed to identify your application as the source of a save. In this context, 'place' means a business, point of interest or geographic location. attribution must be specified with a place in order to enable a save.

clickable

boolean

If true, the marker receives mouse and touch events. Default value is true.

crossOnDrag

boolean

If false, disables cross that appears beneath the marker when dragging. This option is true by default.

Optimization renders many markers as a single static element. Optimized rendering is enabled by default. Disable optimized rendering for animated GIFs or PNGs, or when each marker must be rendered as a separate DOM element (advanced usage only).

Place information, used to identify and describe the place associated with this Marker. In this context, 'place' means a business, point of interest or geographic location. To allow a user to save this place, open an info window anchored on this marker. The info window will contain information about the place and an option for the user to save it. Only one of position or place can be specified.

All markers are displayed on the map in order of their zIndex, with higher values displaying in front of markers with lower values. By default, markers are displayed according to their vertical position on screen, with lower markers appearing in front of markers further up the screen.

The display size of the sprite or image. When using sprites, you must specify the sprite size. If the size is not provided, it will be set when the image loads.

url

string

The URL of the image or sprite sheet.

google.maps.MarkerShape
object specification

This object defines the clickable region of a marker image for browsers other than Internet Explorer. The shape consists of two properties — type and coord — which define the non-transparent region of an image. A MarkerShape object is not required on Internet Explorer since the browser does not fire events on the transparent region of an image by default.

Properties

Properties

Type

Description

coords

Array<number>

The format of this attribute depends on the value of the type and follows the w3 AREA coords specification found at http://www.w3.org/TR/REC-html40/struct/objects.html#adef-coords. The coords attribute is an array of integers that specify the pixel position of the shape relative to the top-left corner of the target image. The coordinates depend on the value of type as follows: - circle: coords is [x1,y1,r] where x1,y2 are the coordinates of the center of the circle, and r is the radius of the circle. - poly: coords is [x1,y1,x2,y2...xn,yn] where each x,y pair contains the coordinates of one vertex of the polygon. - rect: coords is [x1,y1,x2,y2] where x1,y1 are the coordinates of the upper-left corner of the rectangle and x2,y2 are the coordinates of the lower-right coordinates of the rectangle.

type

string

Describes the shape's type and can be circle, poly or rect.

google.maps.Symbol
object specification

Properties

The position of the symbol relative to the marker or polyline. The coordinates of the symbol's path are translated left and up by the anchor's x and y coordinates respectively. By default, a symbol is anchored at (0, 0). The position is expressed in the same coordinate system as the symbol's path.

fillColor

string

The symbol's fill color. All CSS3 colors are supported except for extended named colors. For symbol markers, this defaults to 'black'. For symbols on polylines, this defaults to the stroke color of the corresponding polyline.

The symbol's path, which is a built-in symbol path, or a custom path expressed using SVG path notation. Required.

rotation

number

The angle by which to rotate the symbol, expressed clockwise in degrees. Defaults to 0. A symbol in an IconSequence where fixedRotation is false is rotated relative to the angle of the edge on which it lies.

scale

number

The amount by which the symbol is scaled in size. For symbol markers, this defaults to 1; after scaling, the symbol may be of any size. For symbols on a polyline, this defaults to the stroke weight of the polyline; after scaling, the symbol must lie inside a square 22 pixels in size centered at the symbol's anchor.

strokeColor

string

The symbol's stroke color. All CSS3 colors are supported except for extended named colors. For symbol markers, this defaults to 'black'. For symbols on a polyline, this defaults to the stroke color of the polyline.

strokeOpacity

number

The symbol's stroke opacity. For symbol markers, this defaults to 1. For symbols on a polyline, this defaults to the stroke opacity of the polyline.

strokeWeight

number

The symbol's stroke weight. Defaults to the scale of the symbol.

google.maps.SymbolPath
class

Built-in symbol paths.

Constant

Constant

Description

BACKWARD_CLOSED_ARROW

A backward-pointing closed arrow.

BACKWARD_OPEN_ARROW

A backward-pointing open arrow.

CIRCLE

A circle.

FORWARD_CLOSED_ARROW

A forward-pointing closed arrow.

FORWARD_OPEN_ARROW

A forward-pointing open arrow.

google.maps.Animation
class

Animations that can be played on a marker. Use the setAnimation method on Marker or the animation option to play an animation.

Constant

Constant

Description

BOUNCE

Marker bounces until animation is stopped.

DROP

Marker falls from the top of the map ending with a small bounce.

google.maps.InfoWindow
class

An overlay that looks like a bubble and is often connected to a marker.

Constructor

Creates an info window with the given options. An InfoWindow can be placed on a map at a particular position or above a marker, depending on what is specified in the options. Unless auto-pan is disabled, an InfoWindow will pan the map to make itself visible when it is opened. After constructing an InfoWindow, you must call open to display it on the map. The user can click the close button on the InfoWindow to remove it from the map, or the developer can call close() for the same effect.

Opens this InfoWindow on the given map. Optionally, an InfoWindow can be associated with an anchor. In the core API, the only anchor is the Marker class. However, an anchor can be any MVCObject that exposes a LatLng position property and optionally a Point anchorPoint property for calculating the pixelOffset (see InfoWindowOptions). The anchorPoint is the offset from the anchor's position to the tip of the InfoWindow.

Events

This event is fired when the <div> containing the InfoWindow's content is attached to the DOM. You may wish to monitor this event if you are building out your info window content dynamically.

position_changed

None

This event is fired when the position property changes.

zindex_changed

None

This event is fired when the InfoWindow's zIndex changes.

google.maps.InfoWindowOptions
object specification

Properties

Properties

Type

Description

content

string|Node

Content to display in the InfoWindow. This can be an HTML element, a plain-text string, or a string containing HTML. The InfoWindow will be sized according to the content. To set an explicit size for the content, set content to be a HTML element with that size.

disableAutoPan

boolean

Disable auto-pan on open. By default, the info window will pan the map so that it is fully visible when it opens.

maxWidth

number

Maximum width of the infowindow, regardless of content's width. This value is only considered if it is set before a call to open. To change the maximum width when changing content, call close, setOptions, and then open.

The offset, in pixels, of the tip of the info window from the point on the map at whose geographical coordinates the info window is anchored. If an InfoWindow is opened with an anchor, the pixelOffset will be calculated from the anchor's anchorPoint property.

The LatLng at which to display this InfoWindow. If the InfoWindow is opened with an anchor, the anchor's position will be used instead.

zIndex

number

All InfoWindows are displayed on the map in order of their zIndex, with higher values displaying in front of InfoWindows with lower values. By default, InfoWindows are displayed according to their latitude, with InfoWindows of lower latitudes appearing in front of InfoWindows at higher latitudes. InfoWindows are always displayed in front of markers.

google.maps.Polyline
class

Constructor

Create a polyline using the passed PolylineOptions, which specify both the path of the polyline and the stroke style to use when drawing the polyline. You may pass either an array of LatLngs or an MVCArray of LatLngs when constructing a polyline, though simple arrays are converted to MVCArrays within the polyline upon instantiation.

google.maps.PolylineOptions
object specification

Properties

If set to true, the user can drag this shape over the map. The geodesic property defines the mode of dragging. Defaults to false.

editable

boolean

If set to true, the user can edit this shape by dragging the control points shown at the vertices and on each segment. Defaults to false.

geodesic

boolean

When true, edges of the polygon are interpreted as geodesic and will follow the curvature of the Earth. When false, edges of the polygon are rendered as straight lines in screen space. Note that the shape of a geodesic polygon may appear to change when dragged, as the dimensions are maintained relative to the surface of the earth. Defaults to false.

The ordered sequence of coordinates of the Polyline. This path may be specified using either a simple array of LatLngs, or an MVCArray of LatLngs. Note that if you pass a simple array, it will be converted to an MVCArray Inserting or removing LatLngs in the MVCArray will automatically update the polyline on the map.

strokeColor

string

The stroke color. All CSS3 colors are supported except for extended named colors.

strokeOpacity

number

The stroke opacity between 0.0 and 1.0.

strokeWeight

number

The stroke width in pixels.

visible

boolean

Whether this polyline is visible on the map. Defaults to true.

zIndex

number

The zIndex compared to other polys.

google.maps.IconSequence
object specification

Describes how icons are to be rendered on a line.

If your polyline is geodesic, then the distances specified for both offset and repeat are calculated in meters by default. Setting either offset or repeat to a pixel value will cause the distances to be calculated in pixels on the screen.

Properties

Properties

Type

Description

fixedRotation

boolean

If true, each icon in the sequence has the same fixed rotation regardless of the angle of the edge on which it lies. Defaults to false, in which case each icon in the sequence is rotated to align with its edge.

The distance from the start of the line at which an icon is to be rendered. This distance may be expressed as a percentage of line's length (e.g. '50%') or in pixels (e.g. '50px'). Defaults to '100%'.

repeat

string

The distance between consecutive icons on the line. This distance may be expressed as a percentage of the line's length (e.g. '50%') or in pixels (e.g. '50px'). To disable repeating of the icon, specify '0'. Defaults to '0'.

google.maps.Polygon
class

A polygon (like a polyline) defines a series of connected coordinates in an ordered sequence; additionally, polygons form a closed loop and define a filled region.

Constructor

Create a polygon using the passed PolygonOptions, which specify the polygon's path, the stroke style for the polygon's edges, and the fill style for the polygon's interior regions. A polygon may contain one or more paths, where each path consists of an array of LatLngs. You may pass either an array of LatLngs or an MVCArray of LatLngs when constructing these paths. Arrays are converted to MVCArrays within the polygon upon instantiation.

google.maps.PolygonOptions
object specification

Properties

If set to true, the user can drag this shape over the map. The geodesic property defines the mode of dragging. Defaults to false.

editable

boolean

If set to true, the user can edit this shape by dragging the control points shown at the vertices and on each segment. Defaults to false.

fillColor

string

The fill color. All CSS3 colors are supported except for extended named colors.

fillOpacity

number

The fill opacity between 0.0 and 1.0

geodesic

boolean

When true, edges of the polygon are interpreted as geodesic and will follow the curvature of the Earth. When false, edges of the polygon are rendered as straight lines in screen space. Note that the shape of a geodesic polygon may appear to change when dragged, as the dimensions are maintained relative to the surface of the earth. Defaults to false.

The ordered sequence of coordinates that designates a closed loop. Unlike polylines, a polygon may consist of one or more paths. As a result, the paths property may specify one or more arrays of LatLng coordinates. Paths are closed automatically; do not repeat the first vertex of the path as the last vertex. Simple polygons may be defined using a single array of LatLngs. More complex polygons may specify an array of arrays. Any simple arrays are converted into MVCArrays. Inserting or removing LatLngs from the MVCArray will automatically update the polygon on the map.

strokeColor

string

The stroke color. All CSS3 colors are supported except for extended named colors.

google.maps.PolyMouseEvent
object specification

Properties

The index of the edge within the path beneath the cursor when the event occurred, if the event occurred on a mid-point on an editable polygon.

path

number

The index of the path beneath the cursor when the event occurred, if the event occurred on a vertex and the polygon is editable. Otherwise undefined.

vertex

number

The index of the vertex beneath the cursor when the event occurred, if the event occurred on a vertex and the polyline or polygon is editable. If the event does not occur on a vertex, the value is undefined.

Properties

The opacity of the overlay, expressed as a number between 0 and 1. Optional. Defaults to 1.

google.maps.OverlayView
class

You can implement this class if you want to display custom types of overlay objects on the map.

Inherit from this class by setting your overlay's prototype: MyOverlay.prototype = new google.maps.OverlayView();. The OverlayView constructor is guaranteed to be an empty function.

You must implement three methods: onAdd(), draw(), and onRemove().

In the onAdd() method, you should create DOM objects and append them as children of the panes.

In the draw() method, you should position these elements.

In the onRemove() method, you should remove the objects from the DOM.

You must call setMap() with a valid Map object to trigger the call to the onAdd() method and setMap(null) in order to trigger the onRemove() method. The setMap() method can be called at the time of construction or at any point afterward when the overlay should be re-shown after removing. The draw() method will then be called whenever a map property changes that could change the position of the element, such as zoom, center, or map type.

Constructor

Constructor

Description

OverlayView()

Creates an OverlayView.

Methods

Methods

Return Value

Description

draw()

None

Implement this method to draw or update the overlay. This method is called after onAdd() and when the position from projection.fromLatLngToPixel() would return a new value for a given LatLng. This can happen on change of zoom, center, or map type. It is not necessarily called on drag or resize.

Properties

Components are used to restrict results to a specific area. A filter consists of one or more of: route, locality, administrativeArea, postalCode, country. Only the results that match all the filters will be returned. Filter values support the same methods of spelling correction and partial matching as other geocoding requests. Optional.

Country code used to bias the search, specified as a Unicode region subtag / CLDR identifier. Optional.

google.maps.GeocoderComponentRestrictions
object specification

GeocoderComponentRestrictions represent a set of filters that resolve to a specific area. For details on how this works, see Geocoding Component Filtering.

Properties

Properties

Type

Description

administrativeArea

string

Matches all the administrative_area levels. Optional.

country

string

Matches a country name or a two letter ISO 3166-1 country code. Optional.

locality

string

Matches against both locality and sublocality types. Optional.

postalCode

string

Matches postal_code and postal_code_prefix. Optional.

route

string

Matches the long or short name of a route. Optional.

google.maps.GeocoderStatus
class

The status returned by the Geocoder on the completion of a call to geocode().

Constant

Constant

Description

ERROR

There was a problem contacting the Google servers.

INVALID_REQUEST

This GeocoderRequest was invalid.

OK

The response contains a valid GeocoderResponse.

OVER_QUERY_LIMIT

The webpage has gone over the requests limit in too short a period of time.

REQUEST_DENIED

The webpage is not allowed to use the geocoder.

UNKNOWN_ERROR

A geocoding request could not be processed due to a server error. The request may succeed if you try again.

ZERO_RESULTS

No result was found for this GeocoderRequest.

google.maps.GeocoderResult
object specification

A single geocoder result retrieved from the geocode server. A geocode request may return multiple result objects. Note that though this result is "JSON-like," it is not strictly JSON, as it indirectly includes a LatLng object.

The bounds of the recommended viewport for displaying this GeocoderResult

google.maps.GeocoderLocationType
class

Describes the type of location returned from a geocode.

Constant

Constant

Description

APPROXIMATE

The returned result is approximate.

GEOMETRIC_CENTER

The returned result is the geometric center of a result such a line (e.g. street) or polygon (region).

RANGE_INTERPOLATED

The returned result reflects an approximation (usually on a road) interpolated between two precise points (such as intersections). Interpolated results are generally returned when rooftop geocodes are unavailable for a street address.

google.maps.DirectionsRendererOptions
object specification

Properties

The directions to display on the map and/or in a <div> panel, retrieved as a DirectionsResult object from DirectionsService.

draggable

boolean

If true, allows the user to drag and modify the paths of routes rendered by this DirectionsRenderer.

hideRouteList

boolean

This property indicates whether the renderer should provide UI to select amongst alternative routes. By default, this flag is false and a user-selectable list of routes will be shown in the directions' associated panel. To hide that list, set hideRouteList to true.

The InfoWindow in which to render text information when a marker is clicked. Existing info window content will be overwritten and its position moved. If no info window is specified, the DirectionsRenderer will create and use its own info window. This property will be ignored if suppressInfoWindows is set to true.

Options for the polylines. All polylines rendered by the DirectionsRenderer will use these options.

preserveViewport

boolean

By default, the input map is centered and zoomed to the bounding box of this set of directions. If this option is set to true, the viewport is left unchanged, unless the map's center and zoom were never set.

routeIndex

number

The index of the route within the DirectionsResult object. The default value is 0.

suppressBicyclingLayer

boolean

Suppress the rendering of the BicyclingLayer when bicycling directions are requested.

suppressInfoWindows

boolean

Suppress the rendering of info windows.

suppressMarkers

boolean

Suppress the rendering of markers.

suppressPolylines

boolean

Suppress the rendering of polylines.

google.maps.DirectionsService
class

A service for computing directions between two or more places.

Constructor

Constructor

Description

DirectionsService()

Creates a new instance of a DirectionsService that sends directions queries to Google servers.

Location of destination. This can be specified as either a string to be geocoded or a LatLng. Required.

durationInTraffic

boolean

Whether or not we should provide trip duration based on current traffic conditions. Only available to Maps API for Work customers.

optimizeWaypoints

boolean

If set to true, the DirectionService will attempt to re-order the supplied intermediate waypoints to minimize overall cost of the route. If waypoints are optimized, inspect DirectionsRoute.waypoint_order in the response to determine the new ordering.

Array of intermediate waypoints. Directions will be calculated from the origin to the destination by way of each waypoint in this array. The maximum allowed waypoints is 8, plus the origin, and destination. Maps API for Business customers are allowed 23 waypoints, plus the origin, and destination. Waypoints are not supported for transit directions. Optional.

google.maps.TravelMode
class

The valid travel modes that can be specified in a DirectionsRequest as well as the travel modes returned in a DirectionsStep.

google.maps.UnitSystem
class

Constant

Specifies that distances in the DirectionsResult should be expressed in imperial units.

METRIC

Specifies that distances in the DirectionsResult should be expressed in metric units.

google.maps.TransitOptions
object specification

The TransitOptions object to be included in a DirectionsRequest when the travel mode is set to TRANSIT.

Properties

Properties

Type

Description

arrivalTime

Date

The desired arrival time for the route, specified as a Date object. The Date object measures time in milliseconds since 1 January 1970. If arrival time is specified, departure time is ignored.

departureTime

Date

The desired departure time for the route, specified as a Date object. The Date object measures time in milliseconds since 1 January 1970. If neither departure time nor arrival time is specified, the time is assumed to be "now".

Properties

If true, indicates that this waypoint is a stop between the origin and destination. This has the effect of splitting the route into two. This value is true by default. Optional.

google.maps.DirectionsStatus
class

The status returned by the DirectionsService on the completion of a call to route().

Constant

Constant

Description

INVALID_REQUEST

The DirectionsRequest provided was invalid.

MAX_WAYPOINTS_EXCEEDED

Too many DirectionsWaypoints were provided in the DirectionsRequest. The total allowed waypoints is 8, plus the origin and destination. Maps API for Work customers are allowed 23 waypoints, plus the origin, and destination.

NOT_FOUND

At least one of the origin, destination, or waypoints could not be geocoded.

OK

The response contains a valid DirectionsResult.

OVER_QUERY_LIMIT

The webpage has gone over the requests limit in too short a period of time.

REQUEST_DENIED

The webpage is not allowed to use the directions service.

UNKNOWN_ERROR

A directions request could not be processed due to a server error. The request may succeed if you try again.

ZERO_RESULTS

No route could be found between the origin and destination.

google.maps.DirectionsResult
object specification

The directions response retrieved from the directions server. You can render these using a DirectionsRenderer or parse this object and render it yourself. You must display the warnings and copyrights as noted in the Maps API terms of service. Note that though this result is "JSON-like," it is not strictly JSON, as it indirectly includes LatLng objects.

Properties

An array of DirectionsRoutes, each of which contains information about the legs and steps of which it is composed. There will only be one route unless the DirectionsRequest was made with provideRouteAlternatives set to true.

google.maps.DirectionsRoute
object specification

A single route containing a set of legs in a DirectionsResult. Note that though this object is "JSON-like," it is not strictly JSON, as it directly and indirectly includes LatLng objects.

An array of DirectionsLegs, each of which contains information about the steps of which it is composed. There will be one leg for each waypoint or destination specified. So a route with no waypoints will contain one DirectionsLeg and a route with one waypoint will contain two.

An array of LatLngs representing the entire course of this route. The path is simplified in order to make it suitable in contexts where a small number of vertices is required (such as Static Maps API URLs).

If optimizeWaypoints was set to true, this field will contain the re-ordered permutation of the input waypoints. For example, if the input was: Origin: Los Angeles Waypoints: Dallas, Bangor, Phoenix Destination: New York and the optimized output was ordered as follows: Origin: Los Angeles Waypoints: Phoenix, Dallas, Bangor Destination: New York then this field will be an Array containing the values [2, 0, 1]. Note that the numbering of waypoints is zero-based. If any of the input waypoints has stopover set to false, this field will be empty, since route optimization is not available for such queries.

google.maps.DirectionsLeg
object specification

A single leg consisting of a set of steps in a DirectionsResult. Some fields in the leg may not be returned for all requests. Note that though this result is "JSON-like," it is not strictly JSON, as it directly and indirectly includes LatLng objects.

The total duration of this leg, taking into account current traffic conditions. This property may be undefined as the duration may be unknown. Only available to Maps API for Work customers when durationInTraffic is set to true when making the request.

The DirectionsService calculates directions between locations by using the nearest transportation option (usually a road) at the start and end locations. end_location indicates the actual geocoded destination, which may be different than the end_location of the last step if, for example, the road is not near the destination of this leg.

The DirectionsService calculates directions between locations by using the nearest transportation option (usually a road) at the start and end locations. start_location indicates the actual geocoded origin, which may be different than the start_location of the first step if, for example, the road is not near the origin of this leg.

Properties

google.maps.PathElevationRequest
object specification

An elevation query sent by the ElevationService containing the path along which to return sampled data. This request defines a continuous path along the earth along which elevation samples should be taken at evenly-spaced distances. All paths from vertex to vertex use segments of the great circle between those two points.

Properties

The distance, in meters, between sample points from which the elevation was interpolated. This property will be missing if the resolution is not known. Note that elevation data becomes more coarse (larger resolution values) when multiple points are passed. To obtain the most accurate elevation value for a point, it should be queried independently.

google.maps.ElevationStatus
class

The status returned by the ElevationService upon completion of an elevation requerst.

Constant

Constant

Description

INVALID_REQUEST

This request was invalid.

OK

The request did not encounter any errors.

OVER_QUERY_LIMIT

The webpage has gone over the requests limit in too short a period of time.

REQUEST_DENIED

The webpage is not allowed to use the elevation service for some reason.

UNKNOWN_ERROR

A geocoding, directions or elevation request could not be successfully processed, yet the exact reason for the failure is not known.

google.maps.MaxZoomService
class

A service for obtaining the highest zoom level at which satellite imagery is available for a given location.

Constructor

Constructor

Description

MaxZoomService()

Creates a new instance of a MaxZoomService that can be used to send queries about the maximum zoom level available for satellite imagery.

Methods

Returns the maximum zoom level available at a particular LatLng for the Satellite map type. As this request is asynchronous, you must pass a callback function which will be executed upon completion of the request, being passed a MaxZoomResult.

google.maps.DistanceMatrixStatus
class

The top-level status about the request in general returned by the DistanceMatrixService upon completion of a distance matrix request.

Constant

Constant

Description

INVALID_REQUEST

The provided request was invalid.

MAX_DIMENSIONS_EXCEEDED

The request contains more than 25 origins, or more than 25 destinations.

MAX_ELEMENTS_EXCEEDED

The product of origins and destinations exceeds the per-query limit.

OK

The response contains a valid result.

OVER_QUERY_LIMIT

Too many elements have been requested within the allowed time period. The request should succeed if you try again after a reasonable amount of time.

REQUEST_DENIED

The service denied use of the Distance Matrix service by your web page.

UNKNOWN_ERROR

A Distance Matrix request could not be processed due to a server error. The request may succeed if you try again.

google.maps.DistanceMatrixElementStatus
class

The element-level status about a particular origin-destination pairing returned by the DistanceMatrixService upon completion of a distance matrix request.

Constant

Constant

Description

NOT_FOUND

The origin and/or destination of this pairing could not be geocoded.

OK

The response contains a valid result.

ZERO_RESULTS

No route could be found between the origin and destination.

google.maps.Attribution
object specification

Properties

Properties

Type

Description

iosDeepLinkId

string

The iOS deep link to associate with this place when a user saves the place. When the user views the place in an iOS app, this URL will serve as the link on the source string. If there is no deep link or the app that handles the deep link is not present, the webURL will be used instead.

source

string

The source (origin) to associate with this place when it is saved by a user. For example, this could be the name of your website or application. The user who saved the place will see this source when they view the place in Google Maps. source is required for an Attribution to be considered valid. If it is not provided an error will be thrown.

webUrl

string

The URL (http or https) of the page to associate with this place when a user saves the place. When the user views the place in a desktop or Android app, this URL will serve as the link on the source string. When the user views the place in an iOS app, and there is no deep link provided or the app that handles the deep link is not present, this URL will serve as the link on the source string.

google.maps.Place
object specification

Properties

The LatLng of the entity described by this Place. This must be provided for the Place to be considered valid.

placeId

string

The place ID of the place (such as a business or point of interest). The place ID is a unique identifier of a place in the Google Maps database. Note that the placeId is the most accurate way of identifying a place. If possible, you should specify the placeId rather than a placeQuery. A place ID can be retrieved from any request to the Places API, such as a TextSearch.

query

string

A search query describing the place (such as a business or point of interest). An example query would be "Quay, Upper Level, Overseas Passenger Terminal 5 Hickson Road, The Rocks NSW". If possible, you should specify the placeId rather than a placeQuery. The API does not guarantee the accuracy of resolving the query string to a place. If both the placeId and placeQuery are provided, an error is thrown.

google.maps.SaveWidget
class

A control that users can use to save a place to Google Maps from your website. In this context, 'place' means a business, point of interest or geographic location. The SaveWidget has a fixed height of 22px.

The SaveWidget is only available when signed-in=true has been passed as a URL parameter in the bootstrap request.

google.maps.MapTypeRegistry
class

Constructor

Constructor

Description

MapTypeRegistry()

The MapTypeRegistry holds the collection of custom map types available to the map for its use. The API consults this registry when providing the list of avaiable map types within controls, for example.

google.maps.Projection
object specification

Methods

Translates from the LatLng cylinder to the Point plane. This interface specifies a function which implements translation from given LatLng values to world coordinates on the map projection. The Maps API calls this method when it needs to plot locations on screen. Projection objects must implement this method.

This interface specifies a function which implements translation from world coordinates on a map projection to LatLng values. The Maps API calls this method when it needs to translate actions on screen to positions on the map. Projection objects must implement this method.

google.maps.ImageMapType
class

This class implements the MapType interface and is provided for rendering image tiles.

google.maps.StyledMapType
class

Constructor

Creates a styled MapType with the specified options. The StyledMapType takes an array of MapTypeStyles, where each MapTypeStyle is applied to the map consecutively. A later MapTypeStyle that applies the same MapTypeStylers to the same selectors as an earlier MapTypeStyle will override the earlier MapTypeStyle.

Properties

google.maps.StyledMapTypeOptions
object specification

This class is used to specify options when creating a StyledMapType. These options cannot be changed after the StyledMapType is instantiated.

Properties

Properties

Type

Description

alt

string

Text to display when this MapType's button is hovered over in the map type control.

maxZoom

number

The maximum zoom level for the map when displaying this MapType. Optional.

minZoom

number

The minimum zoom level for the map when displaying this MapType. Optional.

name

string

The name to display in the map type control.

google.maps.MapTypeStyle
object specification

The MapTypeStyle is a collection of selectors and stylers that define how the map should be styled. Selectors specify what map elements should be affected and stylers specify how those elements should be modified.

Properties

Selects the element type to which a styler should be applied. An element type distinguishes between the different representations of a feature. Optional; if elementType is not specified, the value is assumed to be 'all'.

The style rules to apply to the selectors. The rules are applied to the map's elements in the order they are listed in this array.

google.maps.MapTypeStyleFeatureType
object specification

Possible values for feature types. Specify these values as strings, i.e. 'administrative' or 'poi.park'. Stylers applied to a parent feature type automatically apply to all child feature types. Note however that parent features may include some additional features that are not included in one of their child feature types.

Apply the rule to places of worship, such as churches, temples, or mosques.

poi.school

Apply the rule to schools.

poi.sports_complex

Apply the rule to sports complexes.

road

Apply the rule to all roads.

road.arterial

Apply the rule to arterial roads.

road.highway

Apply the rule to highways.

road.highway.controlled_access

Apply the rule to controlled-access highways.

road.local

Apply the rule to local roads.

transit

Apply the rule to all transit stations and lines.

transit.line

Apply the rule to transit lines.

transit.station

Apply the rule to all transit stations.

transit.station.airport

Apply the rule to airports.

transit.station.bus

Apply the rule to bus stops.

transit.station.rail

Apply the rule to rail stations.

water

Apply the rule to bodies of water.

google.maps.MapTypeStyleElementType
object specification

Each MapTypeStyleElementType distinguishes between the different representations of a feature.

Constant

Constant

Description

all

Apply the rule to all elements of the specified feature.

geometry

Apply the rule to the feature's geometry.

geometry.fill

Apply the rule to the fill of the feature's geometry.

geometry.stroke

Apply the rule to the stroke of the feature's geometry.

labels

Apply the rule to the feature's labels.

labels.icon

Apply the rule to icons within the feature's labels.

labels.text

Apply the rule to the text in the feature's label.

labels.text.fill

Apply the rule to the fill of the text in the feature's labels.

labels.text.stroke

Apply the rule to the stroke of the text in the feature's labels.

google.maps.MapTypeStyler
object specification

A styler affects how a map's elements will be styled. Each MapTypeStyler should contain one and only one key. If more than one key is specified in a single MapTypeStyler, all but one will be ignored. For example: var rule = {hue: '#ff0000'}.

Properties

Modifies the gamma by raising the lightness to the given power. Valid values: Floating point numbers, [0.01, 10], with 1.0 representing no change.

hue

string

Sets the hue of the feature to match the hue of the color supplied. Note that the saturation and lightness of the feature is conserved, which means that the feature will not match the color supplied exactly. Valid values: An RGB hex string, i.e. '#ff0000'.

invert_lightness

boolean

A value of true will invert the lightness of the feature while preserving the hue and saturation.

lightness

number

Shifts lightness of colors by a percentage of the original value if decreasing and a percentage of the remaining value if increasing. Valid values: [-100, 100].

saturation

number

Shifts the saturation of colors by a percentage of the original value if decreasing and a percentage of the remaining value if increasing. Valid values: [-100, 100].

visibility

string

Sets the visibility of the feature. Valid values: 'on', 'off' or 'simplifed'.

weight

number

Sets the weight of the feature, in pixels. Valid values: Integers greater than or equal to zero.

Properties

By default, the input map is centered and zoomed to the bounding box of the contents of the layer. If this option is set to true, the viewport is left unchanged, unless the map's center and zoom were never set.

screenOverlays

boolean

Whether to render the screen overlays. Default true.

suppressInfoWindows

boolean

Suppress the rendering of info windows when layer features are clicked.

google.maps.KmlFeatureData
object specification

Data for a single KML feature in JSON format, returned when a KML feature is clicked. The data contained in this object mirrors that associated with the feature in the KML or GeoRSS markup in which it is declared.

Returns the heading and pitch of the photographer when this panorama was taken. For Street View panoramas on the road, this also reveals in which direction the car was travelling. This data is available after the pano_changed event.

Properties

Additional controls to attach to the panorama. To add a control to the panorama, add the control's <div> to the MVCArray corresponding to the ControlPosition where it should be rendered.

Events

Events

Arguments

Description

clicktogo_changed

None

This event is fired when the panorama's clickToGo is enabled or disabled.

closeclick

Event

This event is fired when the close button is clicked.

links_changed

None

This event is fired when the panorama's links change. The links change asynchronously following a pano id change.

pano_changed

None

This event is fired when the panorama's pano id changes. The pano may change as the user navigates through the panorama or the position is manually set. Note that not all position changes trigger a pano_changed.

position_changed

None

This event is fired when the panorama's position changes. The position changes as the user navigates through the panorama or the position is set manually.

pov_changed

None

This event is fired when the panorama's point-of-view changes. The point of view changes as the pitch, zoom, or heading changes.

resize

None

Developers should trigger this event on the panorama when its div changes size: google.maps.event.trigger(panorama, 'resize').

scrollwheel_changed

None

This event is fired when the panorama's scrollWheel is enabled or disabled.

status_changed

None

This event is fired after every panorama lookup by id or location, via setPosition() or setPano().

visible_changed

None

This event is fired when the panorama's visibility changes. The visibility is changed when the Pegman is dragged onto the map, the close button is clicked, or setVisible() is called.

Properties

A unique identifier for the panorama. This is stable within a session but unstable across sessions.

shortDescription

string

Short description of the location.

google.maps.StreetViewTileData
object specification

The properties of the tile set used in a Street View panorama.

Methods

Methods

Return Value

Description

getTileUrl(pano:string, tileZoom:number, tileX:number, tileY:number)

string

Gets the tile image URL for the specified tile.pano is the panorama ID of the Street View tile.tileZoom is the zoom level of the tile.tileX is the x-coordinate of the tile.tileY is the y-coordinate of the tile. Returns the URL for the tile image.

google.maps.StreetViewService
class

Methods

Retrieves the data for the given pano id and passes it to the provided callback as a StreetViewPanoramaData object. Pano ids are unique per panorama and stable for the lifetime of a session, but are liable to change between sessions.

Retrieves the StreetViewPanoramaData for a panorama within a given radius of the given LatLng. The StreetViewPanoramaData is passed to the provided callback. If the radius is less than 50 meters, the nearest panorama will be returned.

google.maps.StreetViewStatus
class

The status returned by the StreetViewService on completion of a Street View request.

Constant

Constant

Description

OK

The request was successful.

UNKNOWN_ERROR

The request could not be successfully processed, yet the exact reason for failure is unknown.

ZERO_RESULTS

There are no nearby panoramas.

google.maps.StreetViewCoverageLayer
class

A layer that illustrates the locations where Street View is available.

Methods

Properties

The latitude/longitude that was below the cursor when the event occurred.

google.maps.LatLng
class

A LatLng is a point in geographical coordinates: latitude and longitude.

Latitude ranges between -90 and 90 degrees, inclusive. Values above or below this range will be clamped to the range [-90, 90]. This means that if the value specified is less than -90, it will be set to -90. And if the value is greater than 90, it will be set to 90.

Longitude ranges between -180 and 180 degrees, inclusive. Values above or below this range will be wrapped so that they fall within the range. For example, a value of -190 will be converted to 170. A value of 190 will be converted to -170. This reflects the fact that longitudes wrap around the globe.

Although the default map projection associates longitude with the x-coordinate of the map, and latitude with the y-coordinate, the latitude coordinate is always written first, followed by the longitude. Notice that you cannot modify the coordinates of a LatLng. If you want to compute another point, you have to create a new one.

Constructor

Constructor

Description

LatLng(lat:number, lng:number, noWrap?:boolean)

Creates a LatLng object representing a geographic point. Latitude is specified in degrees within the range [-90, 90]. Longitude is specified in degrees within the range [-180, 180]. Set noWrap to true to enable values outside of this range. Note the ordering of latitude and longitude.

Properties

Properties

Type

Description

lat

number

Latitude in degrees. Values will be clamped to the range [-90, 90]. This means that if the value specified is less than -90, it will be set to -90. And if the value is greater than 90, it will be set to 90.

lng

number

Longitude in degrees. Values outside the range [-180, 180] will be wrapped so that they fall within the range. For example, a value of -190 will be converted to 170. A value of 190 will be converted to -170. This reflects the fact that longitudes wrap around the globe.

google.maps.LatLngBounds
class

A LatLngBounds instance represents a rectangle in geographical coordinates, including one that crosses the 180 degrees longitudinal meridian.

Returns a string of the form "lat_lo,lng_lo,lat_hi,lng_hi" for this bounds, where "lo" corresponds to the southwest corner of the bounding box, while "hi" corresponds to the northeast corner of that box.

Methods

Properties

Properties

Type

Description

height

number

The height along the y-axis, in pixels.

width

number

The width along the x-axis, in pixels.

google.maps.MVCObject
class

Base class implementing KVO.

The MVCObject constructor is guaranteed to be an empty function, and so you may inherit from MVCObject by simply writing MySubclass.prototype = new google.maps.MVCObject();. Unless otherwise noted, this is not true of other classes in the API, and inheriting from other classes in the API is not supported.

Returns the location of origin when provided with a LatLng destination, meters travelled and original heading. Headings are expressed in degrees clockwise from North. This function returns null when no solution is available.

Returns the signed area of a closed path. The signed area may be used to determine the orientation of the path. The computed area uses the same units as the radius. The radius defaults to the Earth's radius in meters, in which case the area is in square meters.

Computes whether the given point lies on or near to a polyline, or the edge of a polygon, within a specified tolerance. Returns true when the difference between the latitude and longitude of the supplied point, and the closest point on the edge, is less than the tolerance. The tolerance defaults to 10-9 degrees.

google.maps.adsense.AdUnit
class

Implements AdSense for Content advertising on an associated map. To use an AdUnit, you must obtain and specify an AdSense for Content publisher ID within the AdUnit's constructor options.

The offset to apply to an info window anchored on the clicked feature.

google.maps.places.Autocomplete
class

A service to provide Place predictions based on a user's text input. It attaches to an input element of type text, and listens for text entry in that field. The list of predictions is presented as a drop-down list, and is updated as text is entered.

Sets the component restrictions. Component restrictions are used to restrict predictions to only those within the parent component. E.g., the country.

setTypes(types:Array<string>)

None

Sets the types of predictions to be returned. Supported types are 'establishment' for businesses and 'geocode' for addresses. If no type is specified, both types will be returned. The setTypes method accepts a single element array.

Events

Events

Arguments

Description

place_changed

None

This event is fired when a PlaceResult is made available for a Place the user has selected. If the user enters the name of a Place that was not suggested by the control and presses the Enter key, or if a Place detail request fails, a place_changed event will be fired that contains the user input in the name property, with no other properties defined.

The component restrictions. Component restrictions are used to restrict predictions to only those within the parent component. E.g., the country.

types

Array<string>

The types of predictions to be returned. Four types are supported: 'establishment' for businesses, 'geocode' for addresses, '(regions)' for administrative regions and '(cities)' for localities. If nothing is specified, all types are returned. In general only a single type is allowed. The exception is that you can safely mix the 'geocode' and 'establishment' types, but note that this will have the same effect as specifying no types.

google.maps.places.AutocompletePrediction
object specification

Library

places

Properties

Properties

Type

Description

description

string

This is the unformatted version of the query suggested by the Places service.

A set of substrings in the place's description that match elements in the user's input, suitable for use in highlighting those substrings. Each substring is identified by an offset and a length, expressed in unicode characters.

place_id

string

A place ID that can be used to retrieve details about this place using the place details service (see PlacesService.getDetails()).

Location for prediction biasing. Predictions will be biased towards the given location and radius. Alternatively, bounds can be used.

offset

number

The character position in the input term at which the service uses text for predictions (the position of the cursor in the input field).

radius

number

The radius of the area used for prediction biasing. The radius is specified in meters, and must always be accompanied by a location property. Alternatively, bounds can be used.

types

Array<string>

The types of predictions to be returned. Four types are supported: 'establishment' for businesses, 'geocode' for addresses, '(regions)' for administrative regions and '(cities)' for localities. If nothing is specified, all types are returned.

google.maps.places.ComponentRestrictions
object specification

Defines the component restrictions that can be used with the autocomplete service.

URL to an image resource that can be used to represent this Place's category.

international_phone_number

string

The Place's phone number in international format. International format includes the country code, and is prefixed with the plus (+) sign.

name

string

The Place's name. Note: In the case of user entered Places, this is the raw text, as typed by the user. Please exercise caution when using this data, as malicious users may try to use it as a vector for code injection attacks (See http://en.wikipedia.org/wiki/Code_injection).

permanently_closed

boolean

A flag indicating whether the Place is permanently closed. If the place is not permanently closed, the flag is not present in search or details responses.

An array of types for this Place (e.g., ["political", "locality"] or ["restaurant", "establishment"]).

url

string

URL of the official Google page for this place. This will be the establishment's Google+ page if the Google+ page exists, otherwise it will be the Google-owned page that contains the best available information about the place.

vicinity

string

A fragment of the Place's address for disambiguation (usually street name and locality).

website

string

The authoritative website for this Place, such as a business' homepage.

Library

Properties

A link to the reviewer's profile. This will be undefined when the reviewer's profile is unavailable.

language

string

An IETF language code indicating the language in which this review is written. Note that this code includes only the main language tag without any secondary tag indicating country or region. For example, all the English reviews are tagged as 'en' rather than 'en-AU' or 'en-UK'.

text

string

The text of a review.

google.maps.places.PlaceSearchPagination
object specification

An object used to fetch additional pages of Places results.

Library

places

Methods

Methods

Return Value

Description

nextPage()

None

Fetches the next page of results. Uses the same callback function that was provided to the first search request.

Properties

Properties

Type

Description

hasNextPage

boolean

Indicates if further results are available. true when there is an additional results page.

Restricts results to only those places at the specified price level or lower. Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. Must be greater than or equal to minPrice , if specified.

minPriceLevel

number

Restricts results to only those places at the specified price level or higher. Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. Must be less than or equal to maxPrice, if specified.

name

string

Restricts the Place search results to Places that include this text in the name.

openNow

boolean

Restricts results to only those places that are open right now.

radius

number

The distance from the given location within which to search for Places, in meters. The maximum allowed value is 50 000.

Retrieves a list of Places in a given area. The PlaceResults passed to the callback are stripped-down versions of a full PlaceResult. A more detailed PlaceResult for each Place can be obtained by sending a Place Details request with the desired Place's placeId value. The PlaceSearchPagination object can be used to fetch additional pages of results (null if this is the last page of results or if there is only one page of results).

Similar to the nearbySearch function, with the following differences: it retrieves a list of Places based on the query attribute in the given request object; bounds or location + radius parameters are optional; and the region, when provided, will not restrict the results to places inside the area, only bias the response towards results near it. The PlaceSearchPagination object can be used to fetch additional pages of results (null if this is the last page of results or if there is only one page of results).

google.maps.places.PlacesServiceStatus
class

The status returned by the PlacesService on the completion of its searches.

Library

places

Constant

Constant

Description

INVALID_REQUEST

This request was invalid.

OK

The response contains a valid result.

OVER_QUERY_LIMIT

The application has gone over its request quota.

REQUEST_DENIED

The application is not allowed to use the PlacesService.

UNKNOWN_ERROR

The PlacesService request could not be processed due to a server error. The request may succeed if you try again.

ZERO_RESULTS

No result was found for this request.

google.maps.places.QueryAutocompletePrediction
object specification

Represents a single Query Autocomplete prediction.

Library

places

Properties

Properties

Type

Description

description

string

This is the unformatted version of the query suggested by the Places service.

A set of substrings in the place's description that match elements in the user's input, suitable for use in highlighting those substrings. Each substring is identified by an offset and a length, expressed in unicode characters.

place_id

string

Only available if prediction is a place. A place ID that can be used to retrieve details about this place using the place details service (see PlacesService.getDetails()).

Information about individual terms in the above description. Categorical terms come first (e.g., "restaurant"). Address terms appear from most to least specific. For example, "San Francisco", and "CA".

google.maps.places.QueryAutocompletionRequest
object specification

An QueryAutocompletion request to be sent to the QueryAutocompleteService.

google.maps.places.RadarSearchRequest
object specification

Library

Properties

Bounds used to bias results when searching for Places (optional). Both location and radius will be ignored if bounds is set. Results will not be restricted to those inside these bounds; but, results inside it will rank higher.

keyword

string

A term to be matched against all available fields, including but not limited to name, type, and address, as well as customer reviews and other third-party content.

The center of the area used to bias results when searching for Places.

name

string

Restricts results to Places that include this text in the name.

radius

number

The radius of the area used to bias results when searching for Places, in meters.

types

Array<string>

Restricts the Place search results to Places with a type matching at least one of the specified types in this array. Valid types are given here.

google.maps.places.RankBy
class

Ranking options for a PlaceSearchRequest.

Library

places

Constant

Constant

Description

DISTANCE

Ranks place results by distance from the location.

PROMINENCE

Ranks place results by their prominence.

google.maps.places.SearchBox
class

A service to provide query predictions based on a user's text input. It attaches to an input element of type text, and listens for text entry in that field. The list of predictions is presented as a drop-down list, and is updated as text is entered.

google.maps.places.TextSearchRequest
object specification

Library

Properties

Bounds used to bias results when searching for Places (optional). Both location and radius will be ignored if bounds is set. Results will not be restricted to those inside these bounds; but, results inside it will rank higher.

The center of the area used to bias results when searching for Places.

query

string

The request's query term. e.g. the name of a place ('Eiffel Tower'), a category followed by the name of a location ('pizza in New York'), or the name of a place followed by a location disambiguator ('Starbucks in Sydney').

radius

number

The radius of the area used to bias results when searching for Places, in meters.

types

Array<string>

Restricts the Place search results to Places with a type matching at least one of the specified types in this array. Valid types are given here.

google.maps.drawing.DrawingManager
class

Allows users to draw markers, polygons, polylines, rectangles, and circles on the map. The DrawingManager's drawing mode defines the type of overlay that will be created by the user. Adds a control to the map, allowing the user to switch drawing mode.

Changes the DrawingManager's drawing mode, which defines the type of overlay to be added on the map. Accepted values are MARKER, POLYGON, POLYLINE, RECTANGLE, CIRCLE, or null. A drawing mode of null means that the user can interact with the map as normal, and clicks do not draw anything.

The DrawingManager's drawing mode, which defines the type of overlay to be added on the map. Accepted values are MARKER, POLYGON, POLYLINE, RECTANGLE, CIRCLE, or null. A drawing mode of null means that the user can interact with the map as normal, and clicks do not draw anything.

google.maps.drawing.DrawingControlOptions
object specification

Library

Properties

The drawing modes to display in the drawing control, in the order in which they are to be displayed. The hand icon (which corresponds to the null drawing mode) is always available and is not to be specified in this array. Defaults to [MARKER, POLYLINE, RECTANGLE, CIRCLE, POLYGON].

Renders the layer on the specified map. If map is set to null, the layer will be removed.

setMapId(mapId:string)

None

Sets the ID of the Maps Engine map that contains the layer with the given layerKey. Changing this value will cause the layer to be redrawn.

setOpacity(opacity:number)

None

Sets the opacity of the layer, expressed as a number between 0 and 1. Applies only to imagery layers. Note: Be careful of setting this option for other layer types, as it may become effective in the future.

Events

This event is fired when the layer has finished loading, and the layer's properties are available for reading.

status_changed

None

This event is fired when the layer has finished loading, and the status is available to determine if the layer loaded successfully.

google.maps.visualization.MapsEngineLayerOptions
object specification

This object defines the properties that can be set on a MapsEngineLayer object. layerId, or both mapId and layerKey, must be set.

Library

visualization

Properties

Properties

Type

Description

accessToken

string

The authentication token returned by an OAuth 2.0 authentication request.

clickable

boolean

If true, the layer receives mouse events. Default value is true.

fitBounds

boolean

If this option is set to true, the map viewport is centered and zoomed to the bounding box of the contents of the layer. Default value is false. Applies only to KML layers. Note: Be careful when setting this option for other layer types, as it may become effective in the future.

layerId

string

The ID of a single Maps Engine layer to display.

layerKey

string

The key of the layer to display. Maps Engine layer keys are only unique within a single map, and can be changed by map owners.

The ID of the Maps Engine map that contains the layer with the given layerKey.

opacity

number

The opacity of the layer, expressed as a number between 0 and 1. Defaults to 1. Applies only to imagery layers. Note: Be careful of setting this option for other layer types, as it may become effective in the future.

suppressInfoWindows

boolean

Suppress the rendering of info windows when layer features are clicked.

Renders the layer on the specified map. If map is set to null, the layer will be removed.

setMapId(mapId:string)

None

Sets the ID of the Maps Engine map to which the layer belongs. Changing this value will cause the layer to be redrawn.

setOpacity(opacity:number)

None

Sets the opacity of the layer, expressed as a number between 0 and 1. Applies only to imagery layers. Note: Be careful of setting this option for other layer types, as it may become effective in the future.

The ID of the Maps Engine map that contains the layer with the given layerKey.

opacity

number

The opacity of the layer, expressed as a number between 0 and 1. Defaults to 1. Applies only to imagery layers. Note: Be careful of setting this option for other layer types, as it may become effective in the future.

suppressInfoWindows

boolean

Suppress the rendering of info windows when layer features are clicked.

Properties

The latitude/longitude that was below the cursor when the event occurred.

google.maps.visualization.FeatureStyle
object specification

Library

visualization

Methods

Methods

Return Value

Description

reset(property:string)

None

Resets the given style property to its original value.

resetAll()

None

Resets all style properties to their original values.

Properties

Properties

Type

Description

fillColor

string

The feature's fill color. All CSS3 colors are supported except for extended named colors.

fillOpacity

string

Fill opacity, expressed as a decimal between 0 and 1 inclusive. This property may be set as a number, but it will always be returned as a string.

iconAnchor

string

The icon's anchor point is the pixel in the source image that is aligned with the point's geographical location, expressed as a whitespace-separated pair of numbers: x y. Defaults to the center of the icon.

iconClip

string

The rectangular region of the icon's image (in image pixel coordinates) to use, as a whitespace-separated 4-tuple of numbers: x y width height. For example, to use a 32x32 icon situated at (0, 64) in a sprite sheet, specify 0 64 32 32.

iconImage

string

The image to render at the point. Currently, only url(...) is supported.

iconOpacity

string

Icon opacity, expressed as a decimal between 0 and 1 inclusive. This property may be set as a number, but it will always be returned as a string.

iconSize

string

Icon size, expressed as a string with two measurements (with pixel or percentage as unit) separated by whitespace.

strokeColor

string

The feature's stroke color. All CSS3 colors are supported except for extended named colors.

strokeOpacity

string

Stroke opacity, expressed as a decimal between 0 and 1 inclusive. This property may be set as a number, but it will always be returned as a string.

strokeWidth

string

Stroke width in pixels. This property may be set as a number, but it will always be returned as a string.

zIndex

string

Rendering order. Features with greater zIndex are rendered on top.

google.maps.visualization.HeatmapLayer
class

A layer that provides a client-side rendered heatmap, depicting the intensity of data at geographical points.

Library

Properties

Specifies whether heatmaps dissipate on zoom. By default, the radius of influence of a data point is specified by the radius option only. When dissipating is disabled, the radius option is interpreted as a radius at zoom level 0.

gradient

Array<string>

The color gradient of the heatmap, specified as an array of CSS color strings. All CSS3 colors are supported except for extended named colors.

The maximum intensity of the heatmap. By default, heatmap colors are dynamically scaled according to the greatest concentration of points at any particular pixel on the map. This property allows you to specify a fixed maximum.

opacity

number

The opacity of the heatmap, expressed as a number between 0 and 1. Defaults to 0.6.

radius

number

The radius of influence for each data point, in pixels.

google.maps.visualization.WeightedLocation
object specification

A data point entry for a heatmap. This is a geographical data point with a weight attribute.