Coordinates | Maps JavaScript API | Google for Developers (original) (raw)
API Reference v3.63 (weekly channel)
- Overview
- Maps
* Maps
* WebGL
* Coordinates
* Data-driven styling
* Controls
* Geometry Library - Places
* Places Widgets
* Place Widget Content Customization
* Place
* Autocomplete Data (new)
* Geocoder
* Places Service
* Places Autocomplete Service
* Address Validation - Journey Sharing
* Map View
* Authentication
* UI Customization
* Fleet Engine Entities
* Trip and Order Progress
* Fleet Tracking - Last Mile Fleet
* Fleet Tracking - On Demand Rides & Delivery
* Shipment Tracking
API Reference v3.62 (quarterly channel)
- Overview
- Maps
* Maps
* WebGL
* Coordinates
* Data-driven styling
* Controls
* Geometry Library - Places
* Places Widgets
* Place Widget Content Customization
* Place
* Autocomplete Data (new)
* Geocoder
* Places Service
* Places Autocomplete Service
* Address Validation (beta) - Journey Sharing
* Map View
* Authentication
* UI Customization
* Fleet Engine Entities
* Trip and Order Progress
* Fleet Tracking - Last Mile Fleet
* Fleet Tracking - On Demand Rides & Delivery
* Shipment Tracking
API Reference v3.61
- Overview
- Maps
* Maps
* WebGL
* Coordinates
* Data-driven styling
* Controls
* Geometry Library - Places
* Places Widgets
* Place Widget Content Customization
* Place
* Autocomplete Data (new)
* Geocoder
* Places Service
* Places Autocomplete Service
* Address Validation (beta) - Journey Sharing
* Map View
* Authentication
* UI Customization
* Fleet Engine Entities
* Trip and Order Progress
* Fleet Tracking - Last Mile Fleet
* Fleet Tracking - On Demand Rides & Delivery
* Shipment Tracking
API Reference v3.60
- Overview
- Maps
* Maps
* WebGL
* Coordinates
* Data-driven styling
* Controls
* Geometry Library - Places
* Places Widgets
* Place
* Autocomplete Data (new)
* Geocoder
* Places Service
* Places Autocomplete Service
* Address Validation (beta) - Journey Sharing
* Map View
* Authentication
* UI Customization
* Fleet Engine Entities
* Trip and Order Progress
* Fleet Tracking - Last Mile Fleet
* Fleet Tracking - On Demand Rides & Delivery
* Shipment Tracking
Coordinates
LatLngclass
google.maps.LatLngclass
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](/maps/documentation/javascript/reference/coordinates#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](/maps/documentation/javascript/reference/coordinates#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.
| Constructor | |
|---|---|
| LatLng | LatLng(latOrLatLngOrLatLngLiteral[, lngOrNoClampNoWrap, noClampNoWrap]) Parameters: latOrLatLngOrLatLngLiteral: number|LatLngLiteral |
| Methods | |
|---|---|
| equals | equals(other) Parameters: other: LatLng 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: precision: number 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. |
LatLngLiteralinterface
google.maps.LatLngLiteralinterface
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.
| Properties | |
|---|---|
| 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. |
LatLngBoundsclass
google.maps.LatLngBoundsclass
A [LatLngBounds](#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.
| Constructor | |
|---|---|
| LatLngBounds | LatLngBounds([swOrLatLngBounds, ne]) Parameters: swOrLatLngBounds: LatLng|LatLngLiteral |
| Constants | |
|---|---|
| MAX_BOUNDS | LatLngBounds for the max bounds of the Earth. These bounds will encompass the entire globe. |
| Methods | |
|---|---|
| contains | contains(latLng) Parameters: latLng: LatLng|LatLngLiteral Return Value: boolean Returns true if the given lat/lng is in this bounds. |
| equals | equals(other) Parameters: other: LatLngBounds|LatLngBoundsLiteral optional Return Value: boolean Returns true if this bounds approximately equals the given bounds. |
| extend | extend(point) Parameters: point: LatLng|LatLngLiteral 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: other: LatLngBounds|LatLngBoundsLiteral 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: precision: number 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: other: LatLngBounds|LatLngBoundsLiteral Return Value: LatLngBounds Extends this bounds to contain the union of this and the given bounds. |
LatLngBoundsLiteralinterface
google.maps.LatLngBoundsLiteralinterface
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.
| Properties | |
|---|---|
| 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. |
LatLngAltitudeclass
google.maps.LatLngAltitudeclass
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](/maps/documentation/javascript/reference/coordinates#LatLngAltitudeLiteral).
This class implements[LatLngLiteral](/maps/documentation/javascript/reference/coordinates#LatLngLiteral).
Access by calling const {LatLngAltitude} = await google.maps.importLibrary("core").
See Libraries in the Maps JavaScript API.
| Constructor | |
|---|---|
| LatLngAltitude | LatLngAltitude(value[, noClampNoWrap]) Parameters: value: LatLngAltitude|LatLngAltitudeLiteral |
| Properties | |
|---|---|
| altitude | Type: number Returns the altitude. |
| lat | Type: number Returns the latitude. |
| lng | Type: number Returns the longitude. |
| Methods | |
|---|---|
| equals | equals(other) Parameters: other: LatLngAltitude optional Another LatLngAltitude object. Return Value: boolean Whether the two objects are equal. Comparison function. |
| toJSON | toJSON() Parameters: None Return Value: LatLngAltitudeLiteral A JSON representation of this object. |
LatLngAltitudeLiteralinterface
google.maps.LatLngAltitudeLiteralinterface
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](/maps/documentation/javascript/reference/coordinates#LatLngLiteral).
| Properties | |
|---|---|
| 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. |
Pointclass
google.maps.Pointclass
Access by calling const {Point} = await google.maps.importLibrary("core").
See Libraries in the Maps JavaScript API.
| Constructor | |
|---|---|
| Point | Point(x, y) Parameters: x: number y: number A point on a two-dimensional plane. |
| Properties | |
|---|---|
| x | Type: number The X coordinate |
| y | Type: number The Y coordinate |
| Methods | |
|---|---|
| equals | equals(other) Parameters: other: Point optional Return Value: boolean Compares two Points |
| toString | toString() Parameters: None Return Value: string Returns a string representation of this Point. |
Sizeclass
google.maps.Sizeclass
Access by calling const {Size} = await google.maps.importLibrary("core").
See Libraries in the Maps JavaScript API.
| Constructor | |
|---|---|
| Size | Size(width, height[, widthUnit, heightUnit]) Parameters: width: number height: number widthUnit: string optional heightUnit: string optional Two-dimensional size, where width is the distance on the x-axis, and height is the distance on the y-axis. |
| Properties | |
|---|---|
| height | Type: number The height along the y-axis, in pixels. |
| width | Type: number The width along the x-axis, in pixels. |
| Methods | |
|---|---|
| equals | equals(other) Parameters: other: Size optional Return Value: boolean Compares two Sizes. |
| toString | toString() Parameters: None Return Value: string Returns a string representation of this Size. |
Paddinginterface
google.maps.Paddinginterface
| Properties | |
|---|---|
| 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. |
CircleLiteralinterface
google.maps.CircleLiteralinterface
Object literal which represents a circle.
This interface extends[CircleOptions](/maps/documentation/javascript/reference/polygon#CircleOptions).
| Properties | |
|---|---|
| center | Type: LatLng|LatLngLiteral 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 |
Orientation3Dclass
google.maps.Orientation3Dclass
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](/maps/documentation/javascript/reference/coordinates#Orientation3DLiteral).
Access by calling const {Orientation3D} = await google.maps.importLibrary("core").
See Libraries in the Maps JavaScript API.
| Constructor | |
|---|---|
| Orientation3D | Orientation3D(value) Parameters: value: Orientation3D|Orientation3DLiteral The initializing value. |
| Properties | |
|---|---|
| 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. |
| Methods | |
|---|---|
| equals | equals(other) Parameters: other: Orientation3D|Orientation3DLiteral optional Another Orientation3D object. 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. |
Orientation3DLiteralinterface
google.maps.Orientation3DLiteralinterface
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.
| Properties | |
|---|---|
| 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. |
Vector3Dclass
google.maps.Vector3Dclass
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](/maps/documentation/javascript/reference/coordinates#Vector3DLiteral).
Access by calling const {Vector3D} = await google.maps.importLibrary("core").
See Libraries in the Maps JavaScript API.
| Constructor | |
|---|---|
| Vector3D | Vector3D(value) Parameters: value: Vector3D|Vector3DLiteral The initializing value. |
| Properties | |
|---|---|
| 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. |
| Methods | |
|---|---|
| equals | equals(other) Parameters: other: Vector3D|Vector3DLiteral optional Another Vector3D or Vector3DLiteral object. 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. |
Vector3DLiteralinterface
google.maps.Vector3DLiteralinterface
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.
| Properties | |
|---|---|
| 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. |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-11 UTC.