GeolocationCoordinates: longitude property
==========================================

**Secure context:** This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

 The **`longitude`** read-only property of the `GeolocationCoordinates` interface is a number which represents the longitude of a geographical position, specified in decimal degrees.
 Together with a timestamp, given as Unix time in milliseconds, indicating a time of measurement, the `GeolocationCoordinates` object is part of the `GeolocationPosition` interface, which is the object type returned by Geolocation API functions that obtain and return a geographical position.

Value
-----

 The value in `longitude` is the geographical longitude of the location on
 Earth described by the `Coordinates` object, in decimal degrees. The value is
 defined by the World Geodetic System 1984 specification (WGS 84).


**Note:** The zero meridian (also known as the prime meridian or the
 reference meridian) is not precisely the same as the Greenwich meridian that most
 people think of. It is, instead, the IERS Reference Meridian, which is located 5.3 arcseconds (102
 meters / 335 feet) east of the Greenwich meridian. This
 is the same standard used by the Global Positioning System (GPS).


Examples
--------

 In this simple example, we fetch the user's location and display the resulting
 coordinates once they're returned.

### JavaScript

 The JavaScript code below creates an event listener so that when the user clicks on a
 button, the location information is retrieved and displayed.


```js
let button = document.getElementById("get-location");
let latText = document.getElementById("latitude");
let longText = document.getElementById("longitude");

button.addEventListener("click", () => {
  navigator.geolocation.getCurrentPosition((position) => {
    let lat = position.coords.latitude;
    let long = position.coords.longitude;

    latText.innerText = lat.toFixed(2);
    longText.innerText = long.toFixed(2);
  });
});
```


 After setting up variables to more conveniently reference the button element and the
 two elements into which the latitude and longitude will be drawn, the event listener is
 established by calling `addEventListener()`
 on the `<button>` element. When the user clicks the button, we'll fetch
 and display the location information.

 Upon receiving a `click` event, we call
 `getCurrentPosition()` to request the
 device's current position. This is an asynchronous request, so we provide a callback
 which receives as in put a `GeolocationPosition` object describing the
 determined position.

 From the `GeolocationPosition` object, we obtain the user's latitude and
 longitude using `position.coords.latitude` and
 `position.coords.longitude` so we can update the displayed coordinates. The
 two `<span>` elements are updated to display the corresponding values
 after being converted to a value with two decimal places.

### HTML

The HTML used to present the results looks like this:


```html
<p>
  Your location is <span id="latitude">0.00</span>° latitude by
  <span id="longitude">0.00</span>° longitude.
</p>
<button id="get-location">Get My Location</button>
```

### Result

Take this example for a test drive here:

Specifications
--------------

| Specification |
| --- |
| Geolocation API # latitude-longitude-and-accuracy-attributes |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* Using the Geolocation API
* The `GeolocationCoordinates` interface it belongs to.
* The `GeolocationPosition` interface, which is the top-level interface
 used to return geolocation data from the Geolocation API functions
 `Geolocation.getCurrentPosition()` and
 `watchPosition()`.