Polygons Stay organized with collections Save and categorize content based on your preferences.
Polylineclass
google.maps.Polylineclass
A polyline is a linear overlay of connected line segments on the map.
This class extendsMVCObject.
Access by callingconst {Polyline} = await google.maps.importLibrary("maps").
SeeLibraries in the Maps JavaScript API.
Constructor | |
|---|---|
Polyline | Polyline([opts])Parameters:
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 ofLatLngs or anMVCArray ofLatLngs when constructing a polyline, though simple arrays are converted toMVCArrays within the polyline upon instantiation. |
Methods | |
|---|---|
getDraggable | getDraggable()Parameters: None Return Value: booleanReturns whether this shape can be dragged by the user. |
getEditable | getEditable()Parameters: None Return Value: booleanReturns whether this shape can be edited by the user. |
getMap | getMap()Parameters: None Return Value: Map|nullReturns the map on which this shape is attached. |
getPath | getPath()Parameters: None Retrieves the path. |
getVisible | getVisible()Parameters: None Return Value: booleanReturns whether this poly is visible on the map. |
setDraggable | setDraggable(draggable)Parameters:
Return Value: None If set to true, the user can drag this shape over the map. Thegeodesic property defines the mode of dragging. |
setEditable | setEditable(editable)Parameters:
Return Value: None If set to true, the user can edit this shape by dragging the control points shown at the vertices and on each segment. |
setMap | setMap(map)Parameters:
Return Value: None Renders this shape on the specified map. If map is set to null, the shape will be removed. |
setOptions | setOptions(options)Parameters:
Return Value: None |
setPath | setPath(path)Parameters:
Return Value: None Sets the path. See PolylineOptions for more details. |
setVisible | setVisible(visible)Parameters:
Return Value: None Hides this poly if set to false. |
Inherited:addListener,bindTo,get,notify,set,setValues,unbind,unbindAll | |
Events | |
|---|---|
click | function(event)Arguments:
This event is fired when the DOM click event is fired on the Polyline. |
contextmenu | function(event)Arguments:
This event is fired when the DOM contextmenu event is fired on Poyline. |
dblclick | function(event)Arguments:
This event is fired when the DOM dblclick event is fired on the Polyline. |
drag | function(event)Arguments:
This event is repeatedly fired while the user drags the polyline. |
dragend | function(event)Arguments:
This event is fired when the user stops dragging the polyline. |
dragstart | function(event)Arguments:
This event is fired when the user starts dragging the polyline. |
mousedown | function(event)Arguments:
This event is fired when the DOM mousedown event is fired on the Polyline. |
mousemove | function(event)Arguments:
This event is fired when the DOM mousemove event is fired on the Polyline. |
mouseout | function(event)Arguments:
This event is fired on Polyline mouseout. |
mouseover | function(event)Arguments:
This event is fired on Polyline mouseover. |
mouseup | function(event)Arguments:
This event is fired when the DOM mouseup event is fired on the Polyline. |
| Deprecated: Use the function(event)Arguments:
This event is fired when the Polyline is right-clicked on. |
PolylineOptionsinterface
google.maps.PolylineOptionsinterface
PolylineOptions object used to define the properties that can be set on a Polyline.
Properties | |
|---|---|
clickableoptional | Type: booleanoptionalDefault: trueIndicates whether this Polyline handles mouse events. |
draggableoptional | Type: booleanoptionalDefault: falseIf set to true, the user can drag this shape over the map. Thegeodesic property defines the mode of dragging. |
editableoptional | Type: booleanoptionalDefault: falseIf set to true, the user can edit this shape by dragging the control points shown at the vertices and on each segment. |
geodesicoptional | Type: booleanoptionalDefault: falseWhen true, edges of the polygon are interpreted as geodesic and will follow the curvature of the Earth. Whenfalse, 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. |
iconsoptional | Type: Array<IconSequence>optionalThe icons to be rendered along the polyline. |
mapoptional | Type: MapoptionalMap on which to display Polyline. |
pathoptional | Type: MVCArray<LatLng>|Array<LatLng|LatLngLiteral>optionalThe ordered sequence of coordinates of the Polyline. This path may be specified using either a simple array of LatLngs, or anMVCArray ofLatLngs. Note that if you pass a simple array, it will be converted to anMVCArray Inserting or removing LatLngs in theMVCArray will automatically update the polyline on the map. |
strokeColoroptional | Type: stringoptionalThe stroke color. All CSS3 colors are supported except for extended named colors. |
strokeOpacityoptional | Type: numberoptionalThe stroke opacity between 0.0 and 1.0. |
strokeWeightoptional | Type: numberoptionalThe stroke width in pixels. |
visibleoptional | Type: booleanoptionalDefault: trueWhether this polyline is visible on the map. |
zIndexoptional | Type: numberoptionalThe zIndex compared to other polys. |
IconSequenceinterface
google.maps.IconSequenceinterface
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 | |
|---|---|
fixedRotationoptional | Type: booleanoptionalDefault: falseIf true, each icon in the sequence has the same fixed rotation regardless of the angle of the edge on which it lies. Iffalse, case each icon in the sequence is rotated to align with its edge. |
iconoptional | Type: SymboloptionalThe icon to render on the line. |
offsetoptional | Type: stringoptionalDefault: '100%'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'). |
repeatoptional | Type: stringoptionalDefault: 0The 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'. |
Polygonclass
google.maps.Polygonclass
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. See the samples in the developer's guide, starting with asimple polygon, apolygon with a hole, and more. Note that you can also use theData layer to create a polygon. The Data layer offers a simpler way of creating holes because it handles the order of the inner and outer paths for you.
This class extendsMVCObject.
Access by callingconst {Polygon} = await google.maps.importLibrary("maps").
SeeLibraries in the Maps JavaScript API.
Constructor | |
|---|---|
Polygon | Polygon([opts])Parameters:
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 ofLatLngs. You may pass either an array of LatLngs or anMVCArray ofLatLngs when constructing these paths. Arrays are converted toMVCArrays within the polygon upon instantiation. |
Methods | |
|---|---|
getDraggable | getDraggable()Parameters: None Return Value: booleanReturns whether this shape can be dragged by the user. |
getEditable | getEditable()Parameters: None Return Value: booleanReturns whether this shape can be edited by the user. |
getMap | getMap()Parameters: None Return Value: Map|nullReturns the map on which this shape is attached. |
getPath | getPath()Parameters: None Retrieves the first path. |
getPaths | getPaths()Parameters: None Retrieves the paths for this polygon. |
getVisible | getVisible()Parameters: None Return Value: booleanReturns whether this poly is visible on the map. |
setDraggable | setDraggable(draggable)Parameters:
Return Value: None If set to true, the user can drag this shape over the map. Thegeodesic property defines the mode of dragging. |
setEditable | setEditable(editable)Parameters:
Return Value: None If set to true, the user can edit this shape by dragging the control points shown at the vertices and on each segment. |
setMap | setMap(map)Parameters:
Return Value: None Renders this shape on the specified map. If map is set to null, the shape will be removed. |
setOptions | setOptions(options)Parameters:
Return Value: None |
setPath | setPath(path)Parameters:
Return Value: None Sets the first path. See PolygonOptions for more details. |
setPaths | setPaths(paths)Parameters: Return Value: None Sets the path for this polygon. |
setVisible | setVisible(visible)Parameters:
Return Value: None Hides this poly if set to false. |
Inherited:addListener,bindTo,get,notify,set,setValues,unbind,unbindAll | |
Events | |
|---|---|
click | function(event)Arguments:
This event is fired when the DOM click event is fired on the Polygon. |
contextmenu | function(event)Arguments:
This event is fired when the DOM contextmenu event is fired on the Polygon. |
dblclick | function(event)Arguments:
This event is fired when the DOM dblclick event is fired on the Polygon. |
drag | function(event)Arguments:
This event is repeatedly fired while the user drags the polygon. |
dragend | function(event)Arguments:
This event is fired when the user stops dragging the polygon. |
dragstart | function(event)Arguments:
This event is fired when the user starts dragging the polygon. |
mousedown | function(event)Arguments:
This event is fired when the DOM mousedown event is fired on the Polygon. |
mousemove | function(event)Arguments:
This event is fired when the DOM mousemove event is fired on the Polygon. |
mouseout | function(event)Arguments:
This event is fired on Polygon mouseout. |
mouseover | function(event)Arguments:
This event is fired on Polygon mouseover. |
mouseup | function(event)Arguments:
This event is fired when the DOM mouseup event is fired on the Polygon. |
| Deprecated: Use the function(event)Arguments:
This event is fired when the Polygon is right-clicked on. |
PolygonOptionsinterface
google.maps.PolygonOptionsinterface
PolygonOptions object used to define the properties that can be set on a Polygon.
Properties | |
|---|---|
clickableoptional | Type: booleanoptionalDefault: trueIndicates whether this Polygon handles mouse events. |
draggableoptional | Type: booleanoptionalDefault: falseIf set to true, the user can drag this shape over the map. Thegeodesic property defines the mode of dragging. |
editableoptional | Type: booleanoptionalDefault: falseIf set to true, the user can edit this shape by dragging the control points shown at the vertices and on each segment. |
fillColoroptional | Type: stringoptionalThe fill color. All CSS3 colors are supported except for extended named colors. |
fillOpacityoptional | Type: numberoptionalThe fill opacity between 0.0 and 1.0 |
geodesicoptional | Type: booleanoptionalDefault: falseWhen true, edges of the polygon are interpreted as geodesic and will follow the curvature of the Earth. Whenfalse, 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. |
mapoptional | Type: MapoptionalMap on which to display Polygon. |
pathsoptional | Type: MVCArray<MVCArray<LatLng>>|MVCArray<LatLng>|Array<Array<LatLng|LatLngLiteral>>|Array<LatLng|LatLngLiteral>optionalThe 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 ofLatLngs. More complex polygons may specify an array of arrays. Any simple arrays are converted intoMVCArrays. Inserting or removingLatLngs from theMVCArray will automatically update the polygon on the map. |
strokeColoroptional | Type: stringoptionalThe stroke color. All CSS3 colors are supported except for extended named colors. |
strokeOpacityoptional | Type: numberoptionalThe stroke opacity between 0.0 and 1.0 |
strokePositionoptional | Type: StrokePositionoptionalDefault: StrokePosition.CENTERThe stroke position. |
strokeWeightoptional | Type: numberoptionalThe stroke width in pixels. |
visibleoptional | Type: booleanoptionalDefault: trueWhether this polygon is visible on the map. |
zIndexoptional | Type: numberoptionalThe zIndex compared to other polys. |
PolyMouseEventinterface
google.maps.PolyMouseEventinterface
This object is returned from mouse events on polylines and polygons.
This interface extendsMapMouseEvent.
Properties | |
|---|---|
edgeoptional | Type: numberoptionalThe 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. |
pathoptional | Type: numberoptionalThe 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. |
vertexoptional | Type: numberoptionalThe 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. |
Inherited:domEvent,latLng | |
Methods | |
|---|---|
Inherited:stop |
Rectangleclass
google.maps.Rectangleclass
A rectangle overlay.
This class extendsMVCObject.
Access by callingconst {Rectangle} = await google.maps.importLibrary("maps").
SeeLibraries in the Maps JavaScript API.
Constructor | |
|---|---|
Rectangle | Rectangle([opts])Parameters:
Create a rectangle using the passed RectangleOptions, which specify the bounds and style. |
Methods | |
|---|---|
getBounds | getBounds()Parameters: None Return Value: LatLngBounds|nullReturns the bounds of this rectangle. |
getDraggable | getDraggable()Parameters: None Return Value: booleanReturns whether this rectangle can be dragged by the user. |
getEditable | getEditable()Parameters: None Return Value: booleanReturns whether this rectangle can be edited by the user. |
getMap | getMap()Parameters: None Return Value: Map|nullReturns the map on which this rectangle is displayed. |
getVisible | getVisible()Parameters: None Return Value: booleanReturns whether this rectangle is visible on the map. |
setBounds | setBounds(bounds)Parameters:
Return Value: None Sets the bounds of this rectangle. |
setDraggable | setDraggable(draggable)Parameters:
Return Value: None If set to true, the user can drag this rectangle over the map. |
setEditable | setEditable(editable)Parameters:
Return Value: None If set to true, the user can edit this rectangle by dragging the control points shown at the corners and on each edge. |
setMap | setMap(map)Parameters:
Return Value: None Renders the rectangle on the specified map. If map is set to null, the rectangle will be removed. |
setOptions | setOptions(options)Parameters:
Return Value: None |
setVisible | setVisible(visible)Parameters:
Return Value: None Hides this rectangle if set to false. |
Inherited:addListener,bindTo,get,notify,set,setValues,unbind,unbindAll | |
Events | |
|---|---|
bounds_changed | function()Arguments: None This event is fired when the rectangle's bounds are changed. |
click | function(event)Arguments:
This event is fired when the DOM click event is fired on the rectangle. |
contextmenu | function(event)Arguments:
This event is fired when the DOM contextmenu event is fired on the rectangle. |
dblclick | function(event)Arguments:
This event is fired when the DOM dblclick event is fired on the rectangle. |
drag | function(event)Arguments:
This event is repeatedly fired while the user drags the rectangle. |
dragend | function(event)Arguments:
This event is fired when the user stops dragging the rectangle. |
dragstart | function(event)Arguments:
This event is fired when the user starts dragging the rectangle. |
mousedown | function(event)Arguments:
This event is fired when the DOM mousedown event is fired on the rectangle. |
mousemove | function(event)Arguments:
This event is fired when the DOM mousemove event is fired on the rectangle. |
mouseout | function(event)Arguments:
This event is fired on rectangle mouseout. |
mouseover | function(event)Arguments:
This event is fired on rectangle mouseover. |
mouseup | function(event)Arguments:
This event is fired when the DOM mouseup event is fired on the rectangle. |
| Deprecated: Use the function(event)Arguments:
This event is fired when the rectangle is right-clicked on. |
RectangleOptionsinterface
google.maps.RectangleOptionsinterface
RectangleOptions object used to define the properties that can be set on a Rectangle.
Properties | |
|---|---|
boundsoptional | Type: LatLngBounds|LatLngBoundsLiteraloptionalThe bounds. |
clickableoptional | Type: booleanoptionalDefault: trueIndicates whether this Rectangle handles mouse events. |
draggableoptional | Type: booleanoptionalDefault: falseIf set to true, the user can drag this rectangle over the map. |
editableoptional | Type: booleanoptionalDefault: falseIf set to true, the user can edit this rectangle by dragging the control points shown at the corners and on each edge. |
fillColoroptional | Type: stringoptionalThe fill color. All CSS3 colors are supported except for extended named colors. |
fillOpacityoptional | Type: numberoptionalThe fill opacity between 0.0 and 1.0 |
mapoptional | Type: MapoptionalMap on which to display Rectangle. |
strokeColoroptional | Type: stringoptionalThe stroke color. All CSS3 colors are supported except for extended named colors. |
strokeOpacityoptional | Type: numberoptionalThe stroke opacity between 0.0 and 1.0 |
strokePositionoptional | Type: StrokePositionoptionalDefault: StrokePosition.CENTERThe stroke position. |
strokeWeightoptional | Type: numberoptionalThe stroke width in pixels. |
visibleoptional | Type: booleanoptionalDefault: trueWhether this rectangle is visible on the map. |
zIndexoptional | Type: numberoptionalThe zIndex compared to other polys. |
Circleclass
google.maps.Circleclass
A circle on the Earth's surface; also known as a "spherical cap".
This class extendsMVCObject.
Access by callingconst {Circle} = await google.maps.importLibrary("maps").
SeeLibraries in the Maps JavaScript API.
Constructor | |
|---|---|
Circle | Circle([circleOrCircleOptions])Parameters:
Create a circle using the passed CircleOptions, which specify the center, radius, and style. |
Methods | |
|---|---|
getBounds | getBounds()Parameters: None Return Value: LatLngBounds|nullGets the LatLngBounds of this Circle. |
getCenter | getCenter()Parameters: None Return Value: LatLng|nullReturns the center of this circle. |
getDraggable | getDraggable()Parameters: None Return Value: booleanReturns whether this circle can be dragged by the user. |
getEditable | getEditable()Parameters: None Return Value: booleanReturns whether this circle can be edited by the user. |
getMap | getMap()Parameters: None Return Value: Map|nullReturns the map on which this circle is displayed. |
getRadius | getRadius()Parameters: None Return Value: numberReturns the radius of this circle (in meters). |
getVisible | getVisible()Parameters: None Return Value: booleanReturns whether this circle is visible on the map. |
setCenter | setCenter(center)Parameters:
Return Value: None Sets the center of this circle. |
setDraggable | setDraggable(draggable)Parameters:
Return Value: None If set to true, the user can drag this circle over the map. |
setEditable | setEditable(editable)Parameters:
Return Value: None If set to true, the user can edit this circle by dragging the control points shown at the center and around the circumference of the circle. |
setMap | setMap(map)Parameters:
Return Value: None Renders the circle on the specified map. If map is set to null, the circle will be removed. |
setOptions | setOptions(options)Parameters:
Return Value: None |
setRadius | setRadius(radius)Parameters:
Return Value: None Sets the radius of this circle (in meters). |
setVisible | setVisible(visible)Parameters:
Return Value: None Hides this circle if set to false. |
Inherited:addListener,bindTo,get,notify,set,setValues,unbind,unbindAll | |
Events | |
|---|---|
center_changed | function()Arguments: None This event is fired when the circle's center is changed. |
click | function(event)Arguments:
This event is fired when the DOM click event is fired on the circle. |
dblclick | function(event)Arguments:
This event is fired when the DOM dblclick event is fired on the circle. |
drag | function(event)Arguments:
This event is repeatedly fired while the user drags the circle. |
dragend | function(event)Arguments:
This event is fired when the user stops dragging the circle. |
dragstart | function(event)Arguments:
This event is fired when the user starts dragging the circle. |
mousedown | function(event)Arguments:
This event is fired when the DOM mousedown event is fired on the circle. |
mousemove | function(event)Arguments:
This event is fired when the DOM mousemove event is fired on the circle. |
mouseout | function(event)Arguments:
This event is fired on circle mouseout. |
mouseover | function(event)Arguments:
This event is fired on circle mouseover. |
mouseup | function(event)Arguments:
This event is fired when the DOM mouseup event is fired on the circle. |
radius_changed | function()Arguments: None This event is fired when the circle's radius is changed. |
rightclick | function(event)Arguments:
This event is fired when the circle is right-clicked on. |
CircleOptionsinterface
google.maps.CircleOptionsinterface
CircleOptions object used to define the properties that can be set on a Circle.
Properties | |
|---|---|
centeroptional | Type: LatLng|LatLngLiteraloptionalThe center of the Circle. |
clickableoptional | Type: booleanoptionalDefault: trueIndicates whether this Circle handles mouse events. |
draggableoptional | Type: booleanoptionalDefault: falseIf set to true, the user can drag this circle over the map. |
editableoptional | Type: booleanoptionalDefault: falseIf set to true, the user can edit this circle by dragging the control points shown at the center and around the circumference of the circle. |
fillColoroptional | Type: stringoptionalThe fill color. All CSS3 colors are supported except for extended named colors. |
fillOpacityoptional | Type: numberoptionalThe fill opacity between 0.0 and 1.0. |
mapoptional | Type: MapoptionalMap on which to display the Circle. |
radiusoptional | Type: numberoptionalThe radius in meters on the Earth's surface. |
strokeColoroptional | Type: stringoptionalThe stroke color. All CSS3 colors are supported except for extended named colors. |
strokeOpacityoptional | Type: numberoptionalThe stroke opacity between 0.0 and 1.0. |
strokePositionoptional | Type: StrokePositionoptionalDefault: StrokePosition.CENTERThe stroke position. |
strokeWeightoptional | Type: numberoptionalThe stroke width in pixels. |
visibleoptional | Type: booleanoptionalDefault: trueWhether this circle is visible on the map. |
zIndexoptional | Type: numberoptionalThe zIndex compared to other polys. |
StrokePositionconstants
google.maps.StrokePositionconstants
The possible positions of the stroke on a polygon.
Access by callingconst {StrokePosition} = await google.maps.importLibrary("maps").
SeeLibraries in the Maps JavaScript API.
Constants | |
|---|---|
CENTER | The stroke is centered on the polygon's path, with half the stroke inside the polygon and half the stroke outside the polygon. |
INSIDE | The stroke lies inside the polygon. |
OUTSIDE | The stroke lies outside the polygon. |
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-11-21 UTC.