Recommendation: Geolocation

Geolocation

https://www.w3.org/TR/2025/REC-geolocation-20251028/

This Recommendation contains proposed substantive changes (corrections and/or additions).

Published by
 Devices and Sensors Working Group
 Web Applications Working Group

Abstract

Geolocation provides access to geographical location information associated with the hosting device.

Status of the Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C standards and drafts index. 
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position
  * § 6.6 Acquire a position
  * § 11. Permissions policy  
   
  Permalink  

Referenced in: 
 
  * § 1. Introduction
  * § 3.1 User consent
  * § 7.2 timeout member  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 5. Extensions to the Navigator interface
  * § A. IDL Index  
   
  Permalink  exported  

Referenced in: 
 
  * § 5. Extensions to the Navigator interface
  * § 6.1 Internal slots
  * § 6.5 Request a position
  * § 12. Emulation
  * § A. IDL Index  
   
  Permalink  exported  

Referenced in: 
 
  * § 6. Geolocation interface and callbacks (2)
  * § 6.5 Request a position
  * § 6.6 Acquire a position
  * § 8.5 Task sources
  * § A. IDL Index (2)  
   
  Permalink  exported  

Referenced in: 
 
  * § 6. Geolocation interface and callbacks (2)
  * § 6.5 Request a position
  * § 6.6 Acquire a position
  * § 6.7 Call back with error
  * § 8.5 Task sources
  * § A. IDL Index (2)  
   
  Permalink  

Referenced in: 
 
  * § 6.1 Internal slots
  * § 6.6 Acquire a position (2) (3)  
   
  Permalink  

Referenced in: 
 
  * § 6.3 watchPosition() method
  * § 6.4 clearWatch() method
  * § 6.5 Request a position
  * § 6.6 Acquire a position  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 1. Introduction
  * § 2.4 Handling errors
  * § 3.1 User consent
  * § 6. Geolocation interface and callbacks
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 1. Introduction
  * § 2.4 Handling errors
  * § 3.1 User consent
  * § 6. Geolocation interface and callbacks
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 2.3 Stop watching a position
  * § 6. Geolocation interface and callbacks
  * § A. IDL Index  
   
  Permalink  

Referenced in: 
 
  * § 6.2 getCurrentPosition() method
  * § 6.3 watchPosition() method
  * § 8.5 Task sources
  * § 10.1 Constants
  * § D. Change log  
   
  Permalink  

Referenced in: 
 
  * § 1. Introduction
  * § 2.6 Using timeout
  * § 6.5 Request a position (2)
  * § 7.2 timeout member (2)
  * § 10.1 Constants (2)
  * § D. Change log  
   
  Permalink  

Referenced in: 
 
  * § 6.2 getCurrentPosition() method
  * § 6.3 watchPosition() method
  * § 6.5 Request a position (2) (3)
  * § 6.6 Acquire a position (2) (3) (4)
  * § 10.2 code attribute  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 1. Introduction
  * § 2.6 Using timeout
  * § 6. Geolocation interface and callbacks (2)
  * § 6.5 Request a position
  * § 6.6 Acquire a position
  * § 7. PositionOptions dictionary
  * § A. IDL Index (2) (3)  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 1. Introduction
  * § 6.6 Acquire a position (2) (3) (4) (5)
  * § 7. PositionOptions dictionary
  * § 8.4 Internal slots
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 2.6 Using timeout
  * § 6.6 Acquire a position
  * § 7. PositionOptions dictionary
  * § 7.2 timeout member (2) (3)
  * § 10.1 Constants
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 1. Introduction
  * § 6.6 Acquire a position (2)
  * § 7. PositionOptions dictionary
  * § A. IDL Index  
   
  Permalink  exported  

Referenced in: 
 
  * § 1. Introduction
  * § 6. Geolocation interface and callbacks
  * § 6.1 Internal slots
  * § 8.3 toJSON() method (2)
  * § 8.4 Internal slots
  * § 9.6 Constructing a GeolocationPosition (2)
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 8. GeolocationPosition interface
  * § 9.6 Constructing a GeolocationPosition (2)
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 6.6 Acquire a position
  * § 8. GeolocationPosition interface
  * § 9.6 Constructing a GeolocationPosition (2)
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 8. GeolocationPosition interface
  * § A. IDL Index  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position
  * § 9.6 Constructing a GeolocationPosition (2)  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position (2) (3)
  * § 6.7 Call back with error  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 8. GeolocationPosition interface
  * § 9. GeolocationCoordinates interface
  * § 9.5 toJSON() method (2)
  * § 9.6 Constructing a GeolocationPosition (2) (3)
  * § 12. Emulation (2)
  * § A. IDL Index (2)  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 9. GeolocationCoordinates interface
  * § 9.6 Constructing a GeolocationPosition
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 9. GeolocationCoordinates interface
  * § 9.6 Constructing a GeolocationPosition
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 9. GeolocationCoordinates interface
  * § 9.6 Constructing a GeolocationPosition
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 9. GeolocationCoordinates interface
  * § 9.6 Constructing a GeolocationPosition
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 9. GeolocationCoordinates interface
  * § 9.6 Constructing a GeolocationPosition
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 9. GeolocationCoordinates interface
  * § 9.6 Constructing a GeolocationPosition (2)
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 9. GeolocationCoordinates interface
  * § 9.6 Constructing a GeolocationPosition (2)
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 9. GeolocationCoordinates interface
  * § A. IDL Index  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position (2) (3)
  * § 8.4 Internal slots  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 1. Introduction
  * § 2.4 Handling errors
  * § 6. Geolocation interface and callbacks
  * § 6.6 Acquire a position
  * § 6.7 Call back with error
  * § 8.4 Internal slots
  * § 10. GeolocationPositionError interface
  * § 10.3 message attribute (2)
  * § 12. Emulation (2)
  * § A. IDL Index (2)  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 6.5 Request a position (2) (3)
  * § 6.6 Acquire a position
  * § 10. GeolocationPositionError interface
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 6.2 getCurrentPosition() method
  * § 6.3 watchPosition() method
  * § 6.6 Acquire a position
  * § 10. GeolocationPositionError interface
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 6.6 Acquire a position
  * § 10. GeolocationPositionError interface
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 6.6 Acquire a position
  * § 6.7 Call back with error
  * § 10. GeolocationPositionError interface
  * § 10.3 message attribute (2)
  * § A. IDL Index  
   
  Permalink  exported  IDL  

Referenced in: 
 
  * § 10. GeolocationPositionError interface
  * § 10.3 message attribute
  * § A. IDL Index  
   
  Permalink  

Referenced in: 
 
  * § 12. Emulation (2)  
   
  Permalink  exported  

Referenced in: 
 
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position
  * § 8. GeolocationPosition interface
  * § 9.6 Constructing a GeolocationPosition (2)
  * § A. IDL Index  
   
  Permalink  

Referenced in: 
 
  * § 2.7 Enabling the API in third-party contexts  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 6.2 getCurrentPosition() method (2)
  * § 6.3 watchPosition() method (2)
  * § 6.5 Request a position
  * § 12. Emulation  
   
  Permalink  

Referenced in: 
 
  * § 6.2 getCurrentPosition() method
  * § 6.3 watchPosition() method  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 6.2 getCurrentPosition() method (2)
  * § 6.3 watchPosition() method (2)
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 2.7 Enabling the API in third-party contexts
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 12. Emulation  
   
  Permalink  

Referenced in: 
 
  * § 3.4 Checking permission to use the API  
   
  Permalink  

Referenced in: 
 
  * § 5. Extensions to the Navigator interface
  * § A. IDL Index  
   
  Permalink  

Referenced in: 
 
  * § 12. Emulation  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position (2)
  * § 10.1 Constants (2)  
   
  Permalink  

Referenced in: 
 
  * § 3.4 Checking permission to use the API  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position (2) (3)
  * § 6.7 Call back with error  
   
  Permalink  

Referenced in: 
 
  * § 3.4 Checking permission to use the API  
   
  Permalink  

Referenced in: 
 
  * § 6.2 getCurrentPosition() method (2)
  * § 6.3 watchPosition() method (2)
  * § 6.5 Request a position
  * § 12. Emulation  
   
  Permalink  

Referenced in: 
 
  * § 8.5 Task sources  
   
  Permalink  

Referenced in: 
 
  * § 12. Emulation  
   
  Permalink  

Referenced in: 
 
  * § 12. Emulation (2)  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position (2) (3)  
   
  Permalink  

Referenced in: 
 
  * § 6.3 watchPosition() method  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position
  * § 6.6 Acquire a position  
   
  Permalink  

Referenced in: 
 
  * § 9.6 Constructing a GeolocationPosition  
   
  Permalink  

Referenced in: 
 
  * § 6.3 watchPosition() method  
   
  Permalink  

Referenced in: 
 
  * § 6.1 Internal slots  
   
  Permalink  

Referenced in: 
 
  * § 6.1 Internal slots  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position (2)
  * § 9.6 Constructing a GeolocationPosition (2)  
   
  Permalink  

Referenced in: 
 
  * § 6.4 clearWatch() method
  * § 6.5 Request a position (2) (3)  
   
  Permalink  

Referenced in: 
 
  * § 3.4 Checking permission to use the API  
   
  Permalink  

Referenced in: 
 
  * § 3.1 User consent (2)  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position  
   
  Permalink  

Referenced in: 
 
  * § 3.1 User consent
  * § 3.4 Checking permission to use the API
  * § 6.6 Acquire a position  
   
  Permalink  

Referenced in: 
 
  * § 3.1 User consent (2) (3) (4)
  * § 3.4 Checking permission to use the API (2)  
   
  Permalink  

Referenced in: 
 
  * § 3.4 Checking permission to use the API  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 3.4 Checking permission to use the API (2)  
   
  Permalink  

Referenced in: 
 
  * § 3.1 User consent  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 3.1 User consent  
   
  Permalink  

Referenced in: 
 
  * § 6.5 Request a position  
   
  Permalink  

Referenced in: 
 
  * § 11. Permissions policy  
   
  Permalink  

Referenced in: 
 
  * § 2.7 Enabling the API in third-party contexts
  * § 11. Permissions policy  
   
  Permalink  

Referenced in: 
 
  * § 11. Permissions policy  
   
  Permalink  

Referenced in: 
 
  * § 7. PositionOptions dictionary
  * § 8.4 Internal slots
  * § A. IDL Index  
   
  Permalink  

Referenced in: 
 
  * § 7. PositionOptions dictionary (2)
  * § A. IDL Index (2)  
   
  Permalink  

Referenced in: 
 
  * § 8. GeolocationPosition interface
  * § 9. GeolocationCoordinates interface
  * § A. IDL Index (2)  
   
  Permalink  

Referenced in: 
 
  * § 10. GeolocationPositionError interface
  * § A. IDL Index  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position (2) (3) (4) (5) (6)
  * § 9. GeolocationCoordinates interface (2) (3) (4) (5) (6) (7)
  * § A. IDL Index (2) (3) (4) (5) (6) (7)  
   
  Permalink  

Referenced in: 
 
  * § 6. Geolocation interface and callbacks
  * § 8. GeolocationPosition interface
  * § 9. GeolocationCoordinates interface
  * § 10. GeolocationPositionError interface
  * § A. IDL Index (2) (3) (4)  
   
  Permalink  

Referenced in: 
 
  * § 6.6 Acquire a position (2) (3)
  * § 6.7 Call back with error  
   
  Permalink  

Referenced in: 
 
  * § 6. Geolocation interface and callbacks (2)
  * § A. IDL Index (2)  
   
  Permalink  

Referenced in: 
 
  * § 8. GeolocationPosition interface
  * § 9. GeolocationCoordinates interface
  * § A. IDL Index (2)  
   
  Permalink  

Referenced in: 
 
  * § 5. Extensions to the Navigator interface
  * § A. IDL Index  
   
  Permalink  

Referenced in: 
 
  * § 8. GeolocationPosition interface
  * § 9. GeolocationCoordinates interface
  * § A. IDL Index (2)  
   
  Permalink  

Referenced in: 
 
  * § 6.2 getCurrentPosition() method (2) (3)
  * § 6.3 watchPosition() method (2) (3)
  * § 6.4 clearWatch() method
  * § 6.6 Acquire a position (2) (3) (4) (5)  
   
  Permalink  

Referenced in: 
 
  * § 6. Geolocation interface and callbacks (2) (3) (4)
  * § A. IDL Index (2) (3) (4)  
   
  Permalink  

Referenced in: 
 
  * § 6.1 Internal slots
  * § 6.3 watchPosition() method
  * § 7. PositionOptions dictionary (2)
  * § A. IDL Index (2)  
   
  Permalink  

Referenced in: 
 
  * § 6.7 Call back with error
  * § 10. GeolocationPositionError interface (2) (3) (4)
  * § A. IDL Index (2) (3) (4)   

Since this specification become a W3C Recommendation on 01 September 2022, the following substantive additions and/or corrections have been proposed: Correction: Clarify that only the emulated error code is used (#187)Addition: support geolocation emulation (#183)Correction: Use null instead of NaN when stationary (#173)Correction: Update acquisition algorithm to define data types and han…Addition: Define units for accuracy (#162)Correction: check for non-secure contexts (#157)Addition: expose .toJSON() on GeolocationCoordinates + GeolocationPos…Correction: Clarify units and reference geodetic system for latitude … 

A more detailed list of changes can be found in section D. Change log. Reviewers of the document can identify proposed additions and/or corrections by their distinctive styling in the document. 

This document was published by the Devices and Sensors Working Group and the Web Applications Working Group as a Recommendation using the Recommendation track. It includes proposed amendments, introducing substantive changes and new features since the Previous Recommendation.

W3C recommends the wide deployment of this specification as a standard for the Web.

A W3C Recommendation is a specification that, after extensive consensus-building, is endorsed by W3C and its Members, and has commitments from Working Group members to royalty-free licensing for implementations. 

Future updates to this Recommendation may incorporate new features.

Proposed corrections are marked in the document. 

Proposed additions are marked in the document.

The W3C Membership and other interested parties are invited to review the proposed corrections and send comments through 28 December 2025. Advisory Committee Representatives should consult their WBS questionnaires.

This document was produced by groups operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures (Devices and Sensors Working Group) and a public list of any patent disclosures (Web Applications Working Group) made in connection with the deliverables of each group; these pages also include instructions for disclosing a patent. An individual who has actual knowledge of a patent that the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 18 August 2025 W3C Process Document.

-- 
This report was automatically generated using https://github.com/w3c/transition-notifier

Received on Tuesday, 28 October 2025 07:09:38 UTC