Coordinates

LatLng class

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.

Most methods that accept LatLng objects also accept a LatLngLiteral object, so that the following are equivalent:

 map.setCenter(new google.maps.LatLng(-34, 151));
map.setCenter({lat: -34, lng: 151});

The constructor also accepts LatLngLiteral and LatLng objects. If a LatLng instance is passed to the constructor, a copy is created.

The possible calls to the constructor are below:

 new google.maps.LatLng(-34, 151);
new google.maps.LatLng(-34, 151, true);
new google.maps.LatLng({lat: -34, lng: 151});
new google.maps.LatLng({lat: -34, lng: 151}, true);
new google.maps.LatLng(new google.maps.LatLng(-34, 151));
new google.maps.LatLng(new google.maps.LatLng(-34, 151), true);

Access by calling const {LatLng} = await google.maps.importLibrary("core"). See Libraries in the Maps JavaScript API.

LatLng
LatLng(latOrLatLngOrLatLngLiteral[, lngOrNoClampNoWrap, noClampNoWrap])
Parameters: 
  • latOrLatLngOrLatLngLiteralnumber|LatLngLiteral|LatLng
  • lngOrNoClampNoWrapnumber|boolean optional
  • noClampNoWrapboolean optional
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 noClampNoWrap to true to enable values outside of this range. Note the ordering of latitude and longitude.
equals
equals(other)
Parameters: 
Return Value:  boolean
Comparison function.
lat
lat()
Parameters:  None
Return Value:  number
Returns the latitude in degrees.
lng
lng()
Parameters:  None
Return Value:  number
Returns the longitude in degrees.
toJSON
toJSON()
Parameters:  None
Return Value:  LatLngLiteral
Converts to JSON representation. This function is intended to be used via JSON.stringify.
toString
toString()
Parameters:  None
Return Value:  string
Converts to string representation.
toUrlValue
toUrlValue([precision])
Parameters: 
  • precisionnumber optional
Return Value:  string
Returns a string of the form "lat,lng" for this LatLng. We round the lat/lng values to 6 decimal places by default.

LatLngLiteral interface

google.maps.LatLngLiteral interface

Object literals are accepted in place of LatLng objects, as a convenience, in many places. These are converted to LatLng objects when the Maps API encounters them.

Examples:

 map.setCenter({lat: -34, lng: 151});
new google.maps.Marker({position: {lat: -34, lng: 151}, map: map});

LatLng object literals are not supported in the Geometry library.

lat
Type:  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
Type:  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.

LatLngBounds class

google.maps.LatLngBounds class

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

Access by calling const {LatLngBounds} = await google.maps.importLibrary("core"). See Libraries in the Maps JavaScript API.

LatLngBounds
LatLngBounds([swOrLatLngBounds, ne])
Parameters: 
Constructs a rectangle from the points at its south-west and north-east corners.
MAX_BOUNDS LatLngBounds for the max bounds of the Earth. These bounds will encompass the entire globe.
contains
contains(latLng)
Parameters: 
Return Value:  boolean
Returns true if the given lat/lng is in this bounds.
equals
equals(other)
Parameters: 
Return Value:  boolean
Returns true if this bounds approximately equals the given bounds.
extend
extend(point)
Parameters: 
Return Value:  LatLngBounds
Extends this bounds to contain the given point.
getCenter
getCenter()
Parameters:  None
Return Value:  LatLng
Computes the center of this LatLngBounds
getNorthEast
getNorthEast()
Parameters:  None
Return Value:  LatLng
Returns the north-east corner of this bounds.
getSouthWest
getSouthWest()
Parameters:  None
Return Value:  LatLng
Returns the south-west corner of this bounds.
intersects
intersects(other)
Parameters: 
Return Value:  boolean
Returns true if this bounds shares any points with the other bounds.
isEmpty
isEmpty()
Parameters:  None
Return Value:  boolean
Returns if the bounds are empty.
toJSON
toJSON()
Parameters:  None
Return Value:  LatLngBoundsLiteral
Converts to JSON representation. This function is intended to be used via JSON.stringify.
toSpan
toSpan()
Parameters:  None
Return Value:  LatLng
Converts the given map bounds to a lat/lng span.
toString
toString()
Parameters:  None
Return Value:  string
Converts to string.
toUrlValue
toUrlValue([precision])
Parameters: 
  • precisionnumber optional
Return Value:  string
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.
union
union(other)
Parameters: 
Return Value:  LatLngBounds
Extends this bounds to contain the union of this and the given bounds.

LatLngBoundsLiteral interface

google.maps.LatLngBoundsLiteral interface

Object literals are accepted in place of LatLngBounds objects throughout the API. These are automatically converted to LatLngBounds objects. All south, west, north and east must be set, otherwise an exception is thrown.

east
Type:  number
East longitude in degrees. Values outside the range [-180, 180] will be wrapped to the range [-180, 180). 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.
north
Type:  number
North 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.
south
Type:  number
South 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.
west
Type:  number
West longitude in degrees. Values outside the range [-180, 180] will be wrapped to the range [-180, 180). 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.

LatLngAltitude class

google.maps.LatLngAltitude class

A LatLngAltitude is a 3D point in geographical coordinates: latitude, longitude, and altitude.

  • 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.
  • Altitude is measured in meters. Positive values denote heights above ground level, and negative values denote heights underneath the ground surface.

This class implements LatLngAltitudeLiteral.

This class implements LatLngLiteral.

Access by calling const {LatLngAltitude} = await google.maps.importLibrary("core"). See Libraries in the Maps JavaScript API.

LatLngAltitude
LatLngAltitude(value[, noClampNoWrap])
Parameters: 
  • valueLatLngAltitude|LatLngAltitudeLiteral|LatLng|LatLngLiteral The initializing value.
  • noClampNoWrapboolean optional Whether to preserve the initialization values, even if they may not necessarily be valid latitude values in the range of [-90, 90] or valid longitude values in the range of [-180, 180]. The default is false which enables latitude clamping and longitude wrapping.
altitude
Type:  number
Returns the altitude.
lat
Type:  number
Returns the latitude.
lng
Type:  number
Returns the longitude.
equals
equals(other)
Parameters: 
Return Value:  boolean Whether the two objects are equal.
Comparison function.
toJSON
toJSON()
Parameters:  None
Return Value:  LatLngAltitudeLiteral A JSON representation of this object.

LatLngAltitudeLiteral interface

google.maps.LatLngAltitudeLiteral interface

Object literals are accepted in place of LatLngAltitude objects, as a convenience, in many places. These are converted to LatLngAltitude objects when the Maps API encounters them.

This interface extends LatLngLiteral.

altitude
Type:  number
Default: 0
Distance (in meters) above the ground surface. Negative value means underneath the ground surface.
lat
Type:  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
Type:  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.

Point class

google.maps.Point class

Access by calling const {Point} = await google.maps.importLibrary("core"). See Libraries in the Maps JavaScript API.

Point
Point(x, y)
Parameters: 
  • xnumber
  • ynumber
A point on a two-dimensional plane.
x
Type:  number
The X coordinate
y
Type:  number
The Y coordinate
equals
equals(other)
Parameters: 
Return Value:  boolean
Compares two Points
toString
toString()
Parameters:  None
Return Value:  string
Returns a string representation of this Point.

Size class

google.maps.Size class

Access by calling const {Size} = await google.maps.importLibrary("core"). See Libraries in the Maps JavaScript API.

Size
Size(width, height[, widthUnit, heightUnit])
Parameters: 
  • widthnumber
  • heightnumber
  • widthUnitstring optional
  • heightUnitstring optional
Two-dimensional size, where width is the distance on the x-axis, and height is the distance on the y-axis.
height
Type:  number
The height along the y-axis, in pixels.
width
Type:  number
The width along the x-axis, in pixels.
equals
equals(other)
Parameters: 
Return Value:  boolean
Compares two Sizes.
toString
toString()
Parameters:  None
Return Value:  string
Returns a string representation of this Size.

Padding interface

google.maps.Padding interface

bottom optional
Type:  number optional
Padding for the bottom, in pixels.
left optional
Type:  number optional
Padding for the left, in pixels.
right optional
Type:  number optional
Padding for the right, in pixels.
top optional
Type:  number optional
Padding for the top, in pixels.

CircleLiteral interface

google.maps.CircleLiteral interface

Object literal which represents a circle.

This interface extends CircleOptions.

center
The center of the Circle.
radius
Type:  number
The radius in meters on the Earth's surface.
Inherited: clickable, draggable, editable, fillColor, fillOpacity, map, strokeColor, strokeOpacity, strokePosition, strokeWeight, visible, zIndex

Orientation3D class

google.maps.Orientation3D class

A Orientation3D is a three-dimensional vector used for standard mathematical rotation transformations along heading, tilt, and roll.

  • heading is an angle in the range [0, 360) degrees.
  • tilt is an angle in the range [0, 360) degrees.
  • roll is an angle in the range [0, 360) degrees.

This class implements Orientation3DLiteral.

Access by calling const {Orientation3D} = await google.maps.importLibrary("core"). See Libraries in the Maps JavaScript API.

Orientation3D
Orientation3D(value)
Parameters: 
heading
Type:  number
Default: 0
Rotation about the z-axis (normal to the Earth's surface). A value of 0 (the default) equals North. A positive rotation is clockwise around the z-axis and specified in degrees from 0 to 360. 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 530 will be converted to 170 as well.
roll
Type:  number
Default: 0
Rotation about the y-axis. A positive rotation is clockwise around the y-axis and specified in degrees from 0 to 360. 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 530 will be converted to 170 as well.
tilt
Type:  number
Default: 0
Rotation about the x-axis. A positive rotation is clockwise around the x-axis and specified in degrees from 0 to 360. 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 530 will be converted to 170 as well.
equals
equals(other)
Parameters: 
Return Value:  boolean Whether the two objects are equal.
Comparison function.
toJSON
toJSON()
Parameters:  None
Return Value:  Orientation3DLiteral
Converts to JSON representation. This function is intended to be used via JSON.stringify.

Orientation3DLiteral interface

google.maps.Orientation3DLiteral interface

Object literals are accepted in place of Orientation3D objects, as a convenience, in many places. These are converted to Orientation3D objects when the Maps API encounters them.

heading optional
Type:  number optional
Rotation about the z-axis (normal to the Earth's surface). A value of 0 (the default) equals North. A positive rotation is clockwise around the z-axis and specified in degrees from 0 to 360.
roll optional
Type:  number optional
Rotation about the y-axis. A positive rotation is clockwise around the y-axis and specified in degrees from 0 to 360.
tilt optional
Type:  number optional
Rotation about the x-axis. A positive rotation is clockwise around the x-axis and specified in degrees from 0 to 360.

Vector3D class

google.maps.Vector3D class

A Vector3D is a three-dimensional vector used for standard mathematical operations such as scaling the bounds of three-dimensional object along local x-, y-, and z-axes.

  • x is a real number.
  • y is a real number.
  • z is a real number.

This class implements Vector3DLiteral.

Access by calling const {Vector3D} = await google.maps.importLibrary("core"). See Libraries in the Maps JavaScript API.

Vector3D
Vector3D(value)
Parameters: 
x
Type:  number
X-component of the three-dimensional vector.
y
Type:  number
Y-component of the three-dimensional vector.
z
Type:  number
Z-component of the three-dimensional vector.
equals
equals(other)
Parameters: 
Return Value:  boolean
Comparison function.
toJSON
toJSON()
Parameters:  None
Return Value:  Vector3DLiteral
Converts to JSON representation. This function is intended to be used via JSON.stringify.

Vector3DLiteral interface

google.maps.Vector3DLiteral interface

Object literals are accepted in place of Vector3D objects, as a convenience, in many places. These are converted to Vector3D objects when the Maps API encounters them.

x
Type:  number
X-component of the three-dimensional vector.
y
Type:  number
Y-component of the three-dimensional vector.
z
Type:  number
Z-component of the three-dimensional vector.