Fact-checked by Grok 2 weeks ago

W3C Geolocation API

The W3C Geolocation API is a web standard developed by the World Wide Web Consortium (W3C) that provides a high-level interface for web applications to access geographical location information associated with a hosting device, such as latitude, longitude, altitude, speed, heading, and accuracy estimates. This API enables one-time position retrieval or continuous monitoring, relying on device capabilities like GPS, Wi-Fi, or cell tower data to determine location in WGS 84 coordinate system format. First proposed as a working draft in December 2008, the specification underwent multiple revisions before achieving W3C Recommendation status on September 1, 2022. It has since been maintained with substantive additions and corrections, with the latest Recommendation published on October 29, 2025, ensuring its continued stability and wide implementation. Key methods include getCurrentPosition(), which asynchronously retrieves the current location and invokes success or error callbacks; watchPosition(), which monitors for changes and returns a watch ID for later clearance via clearWatch(); and options like enableHighAccuracy for precision control, timeout for request limits, and maximumAge for cached results. The API emphasizes user privacy and security, requiring explicit user consent before accessing location data and restricting usage to secure contexts (HTTPS) to prevent interception. Developers are encouraged to disclose location usage in privacy policies, and the API includes error handling for denied permissions or unavailability, ensuring responsible integration in applications like mapping services, location-based games, and emergency alerts.

Overview

Definition and Purpose

The W3C Geolocation API is a standardized that enables web applications to access geographical information associated with the hosting device, such as , , and altitude, through a high-level, scripted mechanism. This API provides a unified way for developers to query data without needing to interact directly with underlying hardware or network sources like GPS, Wi-Fi, or cellular signals, ensuring compatibility across different devices and browsers. The primary purpose of the Geolocation is to facilitate location-aware features in web applications, allowing scripted access to position data to enhance functionality such as , content delivery, and proximity-based services, all without requiring the of native applications. Key use cases include applications that display position on maps or provide turn-by-turn directions, services like finding nearby points of interest or delivering up-to-date weather and news, based on location, emergency services integration for accurate caller positioning (such as in E911 systems), and social networking features like location-tagged status updates or real-time friend tracking. At a high level, the involves a invoking the —such as through the getCurrentPosition method—to request the device's , prompting the for before the asynchronously retrieves and returns the coordinates via a callback, with options for handling errors or enabling repeated updates. This design supports both one-time queries and continuous monitoring while prioritizing privacy through permission requirements.

Historical Development

The development of the W3C Geolocation API originated in the early amid initiatives to enhance capabilities, driven by the proliferation of location-aware devices and the need for standardized access to geographic data in web applications. As internet usage surged following the launch of smartphones like the in 2007, there was increasing demand for web-based services integrated with emerging standards. This context prompted the formation of the W3C Geolocation Working Group under the Device APIs and Policy Working Group (DAP WG) in September 2008, building on prior technologies such as Google Gears, and focusing on creating a secure, privacy-sensitive for . The was first formalized as a W3C Working Draft on December 22, 2008, defining a high-level interface for retrieving device location data such as , , and accuracy metrics. The group, comprising representatives from major browser vendors including , , and participants aligned with Apple, collaborated to refine the specification through iterative drafts. After progressing through Candidate Recommendation in September 2010, the achieved its initial W3C Recommendation status on November 20, 2010, enabling widespread adoption in location-aware web apps. A second edition was published as a W3C Recommendation on November 8, 2016, incorporating minor clarifications on error handling and coordinate systems without altering core functionality. Subsequent efforts addressed implementation feedback, leading to an amended Recommendation on September 1, 2022, which integrated better alignment with modern permission mechanisms. As of October 29, 2025, the specification received further updates in a new Recommendation to resolve minor editorial issues and enhance compatibility with evolving web standards, though no substantive changes have occurred since the 2016 edition.

Technical Specifications

Core Interface and Methods

The Geolocation API provides a primary interface named Geolocation, which is exposed on the Navigator object as the read-only geolocation property, allowing web applications to request the user's location through a single, standardized object. This interface serves as the central point for initiating location queries, enabling developers to interact with device location services without direct access to underlying hardware or sensors. The core method for obtaining a one-time position fix is getCurrentPosition(), an asynchronous function that accepts three parameters: a required PositionCallback for handling successful retrievals, an optional PositionErrorCallback for errors, and an optional PositionOptions object for customizing the request. Upon invocation, if the associated is fully active, it attempts to determine the current geographic coordinates and passes a GeolocationPosition object to the success callback if successful, or invokes the error callback otherwise. If the is not fully active, it immediately invokes the error callback with a PositionError whose code is POSITION_UNAVAILABLE. The method does not return a value directly but relies on these callbacks to deliver results, ensuring non-blocking operation in web pages. For ongoing location monitoring, the API includes watchPosition(), which mirrors the parameter structure of getCurrentPosition() but returns a unique unsigned long identifier, known as a watch ID, to track the active monitoring session. This method continuously invokes the success callback whenever a significant change in position is detected while the associated Document is visible, based on the device's location capabilities; monitoring pauses if the Document becomes hidden and resumes when it becomes visible. It can be terminated by calling clearWatch(watchId), which stops the updates and releases associated resources for the specified ID. Using watchId === 0 in clearWatch() has no effect, providing a safe way to halt monitoring without needing to track the ID explicitly in some cases. Requests via both methods can be configured using the PositionOptions dictionary, which includes three properties: enableHighAccuracy (a boolean defaulting to false, signaling the desire for the most precise location possible), timeout (an unsigned long in milliseconds defaulting to Infinity, specifying the maximum wait time before invoking the error callback), and maximumAge (an unsigned long in milliseconds defaulting to 0, indicating the acceptable staleness of cached position data). If maximumAge is 0, the API must attempt a fresh position acquisition. Otherwise, it may return the most recently cached position if its age is not older than the specified value, it was obtained with a compatible enableHighAccuracy setting, and the cache has not been evicted; the user agent maintains only the last position in cache, which may be evicted at any time. A timeout value of 0 requires immediate results without delay, while exceeding it triggers an error. The callbacks follow defined signatures: PositionCallback is invoked as void (GeolocationPosition position), receiving the position data for processing, such as extracting coordinates for mapping. Similarly, PositionErrorCallback takes void (GeolocationPositionError positionError) to handle failures, though its specifics are addressed elsewhere. These function types ensure type-safe integration with environments, promoting reliable error management and data handling in applications.

Position Objects and Properties

The Position interface, known as GeolocationPosition, serves as the primary data structure returned by the Geolocation API to represent a user's geographic location at a specific point in time. It encapsulates two key attributes: coords, which is a GeolocationCoordinates object providing detailed location data, and timestamp, an EpochTimeStamp value indicating the exact moment the position was determined. The timestamp is measured in milliseconds since the Unix epoch (January 1, 1970, 00:00:00 UTC), ensuring precise chronological tracking of when the location data was acquired by the user agent. The coords attribute within the Position interface is an instance of the Coordinates interface (GeolocationCoordinates), which holds the core geospatial information. This interface includes several read-only properties that describe the position in standardized units. The latitude property represents the north-south position in relative to the , while longitude denotes the east-west position in relative to the , both expressed in the 1984 (WGS 84) coordinate reference system. The altitude property, if available, provides the height in meters above the WGS 84 ; it may be null if not supported or unavailable. Additional properties in the Coordinates interface offer on and . The accuracy property specifies the radius in meters of the horizontal position's uncertainty, representing a 95% around the latitude and longitude. Similarly, altitudeAccuracy gives the vertical uncertainty in meters as a 95% , or null if altitude is unavailable. For dynamic positioning, heading indicates the direction of travel in degrees, measured clockwise from (ranging from 0 to 360), and speed denotes the current in meters per second; both may be null if not applicable or measurable. These properties ensure that the Position object delivers location data in a consistent, machine-readable format, facilitating integration into web applications while adhering to the WGS 84 datum for global interoperability. The 95% confidence radii for accuracy metrics provide a statistical measure of reliability, allowing developers to assess the trustworthiness of the returned position without delving into underlying computation details. Both the Position and Coordinates interfaces include a toJSON() method for serializing the data into JSON format, supporting easy transmission and storage.

Error Handling

The W3C Geolocation API employs a structured error model to inform developers of failures during position acquisition, ensuring robust application behavior without disrupting the . When the API cannot successfully retrieve the user's , it invokes an optional callback instead of the callback, allowing developers to issues such as permission denials or technical unavailability gracefully. This asynchronous reporting aligns with the API's callback-based design, where are reported only if a suitable handler is provided; otherwise, the failure is silently ignored. Central to this model is the PositionError interface, which encapsulates error details for use in error callbacks. It includes two primary properties: code, a read-only unsigned short representing the numeric error type, and message, a read-only DOMString providing a human-readable description intended for developers rather than end-users. The code property is essential for programmatic error differentiation, while the message offers contextual insights, such as implementation-specific details, but is not recommended for direct user display due to its potentially technical nature. The API defines three standard error codes within the PositionError interface:
  • PERMISSION_DENIED (code 1): Indicates that the or browser denied access to information, often due to explicit refusal or invocation in a non-secure context.
  • POSITION_UNAVAILABLE (code 2): Signals that the device was unable to acquire a position, such as when services are disabled, no suitable sources are available, or the associated is not fully active (e.g., not visible).
  • TIMEOUT (code 3): Occurs when the position request exceeds the specified timeout duration without obtaining a result.
These codes are exhaustive, covering all anticipated failure scenarios in the specification. Error handling occurs through the PositionErrorCallback type, which is passed as the second argument to methods like getCurrentPosition() and watchPosition(). Upon failure, the user agent invokes this callback with a PositionError object as its sole parameter, while the success callback remains uncalled. If no error callback is supplied (i.e., null), the implementation takes no further action, emphasizing the importance of providing one to avoid unhandled failures. This mechanism integrates with permission prompts, where a denial typically triggers the PERMISSION_DENIED error. Best practices recommend always supplying an error callback to manage common issues like user denial or position unavailability, enabling applications to provide fallback options or informative messages without crashing. Developers should inspect the code property for conditional logic and avoid relying on the message for user-facing content, as it may vary across implementations.

Browser Deployment

Support in Web Browsers

The W3C Geolocation API has seen widespread adoption across major web browsers since its initial specification in 2008, with desktop support emerging in the late 2000s. Firefox introduced full support starting with version 3.5 in June 2009, allowing developers to access device location via the navigator.geolocation interface. Chrome followed in version 5 in May 2010, followed shortly by Safari in version 5 in June 2010. Opera added support from version 10.6 in September 2010. Internet Explorer provided partial support in version 9 in March 2010, with fuller implementation arriving in Edge version 12 in July 2015, which replaced the legacy IE engine. On mobile platforms, support began similarly early, aligning with the rise of smartphones. Safari implemented the API from version 3.2 in June 2009, enabling location-based features in applications. The Android Browser added support in version 2.1 in October 2009. for provided support from its initial release in 2012. These implementations allowed for consistent access to GPS, , and tower data on touch-enabled devices. Note that since around 2016, major browsers require secure contexts () for geolocation access, with thresholds like Chrome 50 and 55. As of November 2025, the Geolocation API enjoys full support in all major browsers without any known deprecations, with current versions including 130 and later (up to ~140+), 132 and later (up to ~140+), 18 and later (up to 19+), 130 and later (up to ~140+), and 122+. This universal availability ensures broad compatibility for web developers targeting modern user agents. To detect support reliably, developers check for the presence of the API using the condition if ('geolocation' in [navigator](/page/Navigator)) before invoking methods like getCurrentPosition(). Historically, the primary gap was in early versions of , which lacked native support until IE9, requiring polyfills or alternatives like Gears for older deployments. Opera's support was also delayed until version 10.6, creating minor fragmentation in the pre-2010 browser landscape.
BrowserDesktop Support FromMobile Support From
Version 5 (2010)Initial release (2012) for
Version 3.5 (2009)Early versions (2011+) for
Version 5 (2010)Version 3.2 (2009) for
/IEVersion 12 (2015); partial in IE9 (2010)N/A (via mobile )
Version 10.6 (2010)Version 10.6 (2010) for mobile

Implementation Variations

Different browsers exhibit variations in how they handle the enableHighAccuracy option of the Geolocation API's PositionOptions . In and Mozilla Firefox, setting enableHighAccuracy to true prompts the use of high-precision sources like GPS when available on the device, providing more accurate location data. In contrast, Apple Safari, especially on mobile devices, often falls back to WiFi-based more aggressively to conserve battery life, resulting in lower accuracy even when high accuracy is requested. Some browsers introduce extensions beyond the core W3C specification to enhance functionality. For instance, Mozilla Firefox allows developers to enable mock location data for testing purposes by setting preferences in about:config, such as geo.provider.testing to true and specifying custom , , and accuracy values. Google Chrome integrates the Geolocation API with the Permissions Policy feature, enabling site owners to control access via HTTP headers like Permissions-Policy: geolocation=(self "https://example.com"), which restricts or allows the API based on origin policies. Implementation quirks arise in timeout and caching behaviors across browsers. Safari may disregard short timeout values in getCurrentPosition() calls, leading to prolonged waits or failures without invoking the error callback promptly, unlike where explicit timeouts help mitigate rate-limiting that caps requests to approximately one per minute per page. Regarding maximumAge, which specifies the acceptable age of cached positions, implementations differ significantly; for example, has been observed to occasionally ignore non-zero values and fetch fresh data regardless, while other browsers like adhere more closely to the cache if within the limit. For older browsers lacking native support, polyfills and shims provide fallback mechanisms. The deprecated Google Gears plugin, once used for geolocation in legacy environments like , offered a JavaScript-based but was discontinued in favor of the standard ; modern alternatives recommend IP-based geolocation services as shims, querying server-side databases for approximate positions when the is unavailable. Testing the Geolocation benefits from browser developer tools. In , the DevTools Sensors panel allows simulation of locations by overriding , longitude, and accuracy, facilitating emulation without physical movement. Firefox supports similar testing through about:config flags to inject mock data, enabling developers to verify behavior in controlled scenarios.

Location Sources

Data Providers

The W3C Geolocation API obtains location data through a variety of underlying technologies and methods implemented by web browsers, which leverage hardware and signals to estimate the user's position. These providers are not specified in the API standard itself, allowing flexibility across platforms, but commonly include satellite-based and network-assisted approaches. GPS, or , enables direct satellite positioning for high-accuracy determination, typically achieving 5-10 meters under open-sky conditions on supported devices like smartphones. This method relies on signals from a constellation of satellites to calculate , , and altitude, and is primarily available on devices with built-in GPS receivers. Network-based uses SSID scanning and cell tower to approximate position by analyzing nearby access points and base stations. positioning matches detected network identifiers against databases of known locations, offering accuracies around 20-50 meters in dense urban areas with many hotspots, while cell tower estimates based on signal strength from multiple towers, yielding 100-1000 meters depending on tower density. IP geolocation serves as a fallback mechanism, mapping the device's public to approximate location using databases maintained by service providers. This method provides broader estimates, typically accurate to 1-10 kilometers at the or regional level, due to the shared nature of IP assignments and limited granularity. Hybrid approaches combine multiple sources, such as GPS with network data, to improve reliability and speed; for instance, implementations like the Fused Location Provider in Android-based browsers integrate , cell, and for optimized results. Browsers integrate with native operating system location services to access these providers, such as Android's LocationManager for managing GPS and network requests or iOS's Core Location framework, which utilizes GPS, , and cellular hardware to deliver position data to web applications. These methods result in varying accuracy metrics, as explored further in the Accuracy Factors section.

Accuracy Factors

The accuracy of location data obtained through the W3C Geolocation API is influenced by multiple variables, including the underlying location technologies, the environment in which the device operates, and user-configurable options that balance precision against resource consumption. These factors determine the reliability of the reported position, which can range from a few meters in optimal conditions to several kilometers in degraded scenarios. The API does not guarantee a specific level of , as it relies on the device's geolocation provider to select and combine available sources such as GPS, , or cellular networks. Environmental conditions play a significant role in location accuracy. Outdoors, provide high precision, often within 5 to 20 meters, due to clear line-of-sight to satellites, but performance degrades indoors or in canyons where buildings block or reflect signals, leading to multipath errors and reduced accuracy to hundreds of meters. In contrast, network-based methods like excel in dense or indoor settings, achieving 10 to 100 meters by leveraging access point databases, while rural areas with sparse infrastructure may limit accuracy to city-level estimates via geolocation. Cellular tower varies with tower density, offering better results (50 to 500 meters) in populated areas but poorer performance in remote locations. Device capabilities further impact the quality of location data. The presence of a dedicated GPS chip enables satellite-based positioning for superior accuracy, particularly when combined with motion sensors like accelerometers for assisted GPS, which refines estimates during movement. Devices without GPS, such as desktops, rely on less precise methods like or , resulting in broader error margins. Battery level can indirectly affect accuracy, as low-power modes may disable high-precision sensors to conserve energy. Configuration options in the allow developers to influence accuracy trade-offs. The enableHighAccuracy , when set to true, signals the to prioritize precise data sources like GPS, potentially increasing accuracy but also extending acquisition time and drain; however, implementations may ignore this hint if high-accuracy modes are unavailable. The maximumAge parameter specifies the maximum allowable age of cached position data in milliseconds, permitting reuse of recent results to avoid delays, though stale data may reflect outdated environmental conditions and reduce effective accuracy. Reported metrics provide insight into the reliability of acquired positions. The accuracy property in the Coordinates object represents the estimated radius of error in meters, corresponding to a 95% for latitude and longitude, while altitudeAccuracy offers a similar measure for if available. These values are computed by the geolocation provider based on signal strength, historical , and algorithmic confidence, but they serve as approximations rather than guarantees. Certain limitations inherently constrain accuracy across scenarios. Network-only modes, common on non-GPS devices or when GPS is unavailable, typically omit altitude data, returning for that and relying on horizontal positioning alone. Properties like heading and speed require device motion to generate meaningful values; stationary devices yield or , limiting applications that depend on estimates. Overall, these constraints highlight the API's dependence on diverse data providers for robust performance.

Privacy and Security

Permission Mechanisms

The Geolocation API requires explicit user consent before accessing location data, ensuring that websites cannot silently users' positions. When a invokes methods like navigator.geolocation.getCurrentPosition() or navigator.geolocation.watchPosition(), the typically displays a permission dialog on the first call, prompting the user to grant or deny access. This mechanism is designed as a "default powerful feature" under the Permissions API, where the permission name is specified as "geolocation" using a PermissionDescriptor. Browsers offer user consent options such as "Allow once" for temporary access (often session-based, lasting until the tab or browser closes) or "Allow always" for persistent permission across sessions, alongside a "Deny" option that results in a PERMISSION_DENIED error code. The specification recommends single-session lifetimes to minimize privacy risks, though user agents may suggest alternatives like time-limited grants (e.g., 24 hours or one week) or indefinite permissions, with a preference for shorter durations. If permission is denied, web applications receive an error callback, preventing further location requests without user intervention. Developers can proactively check permission status without triggering a by querying the Permissions , for example:
javascript
navigator.permissions.query({ name: 'geolocation' }).then([function](/page/Function)(result) {
  if (result.state === 'granted') {
    // Permission already granted
  } else if (result.state === '[prompt](/page/Prompt)') {
    // User will be prompted
  } else if (result.state === 'denied') {
    // Permission denied
  }
});
This returns one of three states: granted, denied, or [prompt](/page/Prompt), allowing applications to handle scenarios gracefully. Users can revoke granted permissions at any time through browser-specific settings, such as site permissions panels in or , but web applications have no mechanism to override or request programmatically. The API lacks standardized fine-grained controls for permission granularity, such as distinguishing temporary from permanent access; instead, implementations vary, with browsers like providing site-level toggles for "Allow" or "Block" while retaining states across sessions unless cleared. To address , the API mandates user-mediated to prevent unauthorized tracking, and the GeolocationPosition object includes a timestamp property to enable auditing of when location data was acquired. Developers are required to disclose data collection purposes, limit usage to necessary scopes, and secure transmitted coordinates, aligning with broader guidelines that emphasize and minimal retention. Despite these safeguards, browser inconsistencies—such as persistent denial states or cross-mode state sharing—can introduce vulnerabilities, as identified in analyses of 22 user agents.

Security Requirements

The W3C Geolocation API is restricted to secure contexts to protect user privacy and prevent unauthorized access to location data, ensuring that the API is unavailable over insecure HTTP connections. A secure context requires the document to be served via HTTPS or from a localhost origin, such as addresses in the 127.0.0.0/8 or ::1/128 ranges, or .localhost domains. This requirement aligns with the W3C Secure Contexts specification, which designates the Geolocation API as a feature needing protection due to its access to sensitive sensor data like GPS. As of the API's latest recommendation in October 2025, implementations terminate geolocation requests in non-secure environments, returning an error if the context fails the "potentially trustworthy" origin check. Browser enforcement of this policy began prominently with 50 in April 2016, which removed Geolocation API support from non-secure origins, including HTTP pages and HTTPS iframes embedded in HTTP documents, while allowing localhost for development. Similar restrictions apply across major browsers, such as and , which also limit the API to secure contexts to mitigate risks from man-in-the-middle attacks on unencrypted connections. Location requests are further blocked in the presence of mixed content, where a secure page attempts to load insecure HTTP resources, such as scripts or , as this violates secure criteria and compromises the integrity of the environment. The Permissions Policy header provides additional control, using the "geolocation" directive with a default allowlist of 'self' to disable the API in iframes or third-party subdomains unless explicitly permitted, such as via Permissions-Policy: geolocation=(self). This prevents unauthorized embedding and supports granular security configuration for cross-origin scenarios. Key risks associated with the API include potential phishing attacks that exploit location data to impersonate trusted services and unauthorized tracking that infers user movements or habits, thereby compromising . To mitigate these, developers are recommended to provide clear notices about location data collection and usage, limiting requests to necessary instances and securing transmitted data against interception. As of 2025, the API's alignment with the W3C Secure Contexts specification ensures no support in third-party contexts without explicit permission via policy headers.

References

  1. [1]
    Geolocation - W3C
    Oct 29, 2025 · The API defined in this specification is used to retrieve the geographic location of a hosting device. In almost all cases, this information ...
  2. [2]
    First Draft of Geolocation API Specification Published | 2008 - W3C
    Dec 22, 2008 · This specification defines an API that provides scripted access to geographical location information associated with the hosting device.
  3. [3]
    Geolocation API is a W3C Recommendation | 2022 | News
    Sep 1, 2022 · The Geolocation API provides access to geographical location information associated with the hosting device.
  4. [4]
  5. [5]
    Geolocation API Implementation Report - W3C
    Feb 21, 2011 · Local), serve advertising, search results, and other content. Other uses of location information may include determining the appropriate ...
  6. [6]
    [PDF] HTML5 Geolocation - European Emergency Number Association
    Sep 8, 2017 · HTML5 Geolocation currently is being used by some emergency services organisations to request accurate location from the caller's smartphone, ...Missing: E911 | Show results with:E911
  7. [7]
    What is geolocation: History and use-cases – The API Company
    Apr 21, 2020 · An overview of the history of geolocation, the a technical overview of a geolocation API, and current use cases of an API.
  8. [8]
    Tracing the development of GPS geolocation - u-blox
    Jul 14, 2023 · In the early 2000s, geolocation was integrated into another widely used technology that millions of people use daily: smartphone map ...
  9. [9]
    Geolocation Working Group Charter - W3C
    The Geolocation WG was created in September of 2008 and has since published the Geolocation API version 1 through Candidate Recommendation status. The objective ...
  10. [10]
    Geolocation API Specification - W3C
    Dec 22, 2008 · The Geolocation API defines a high-level interface to location information associated with the hosting device, such as latitude and longitude.
  11. [11]
    Geolocation API Specification - W3C
    Sep 7, 2010 · The Candidate Recommendation period will last two months and end on 07 November 2010. The Working Group expects to meet the above transition ...
  12. [12]
    W3C Recommendation Citation List for OASIS Editors Version 1.0
    Thompson, Editors, W3C Recommendation, October 28, 2010, http://www.w3.org/TR ... Geolocation API Specification, A. Popescu, Editor, W3C Recommendation ...<|control11|><|separator|>
  13. [13]
  14. [14]
  15. [15]
  16. [16]
  17. [17]
  18. [18]
  19. [19]
  20. [20]
  21. [21]
  22. [22]
  23. [23]
  24. [24]
  25. [25]
  26. [26]
  27. [27]
  28. [28]
  29. [29]
  30. [30]
  31. [31]
  32. [32]
  33. [33]
  34. [34]
  35. [35]
  36. [36]
    Geolocation API - MDN Web Docs - Mozilla
    May 28, 2025 · The Geolocation API allows the user to provide their location to web applications if they so desire. For privacy reasons, the user is asked ...
  37. [37]
    Geolocation | Can I use... Support tables for HTML5, CSS3, etc
    "Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.Missing: W3C | Show results with:W3C
  38. [38]
    HTML5 Browser Geolocation Browser Support - SitePoint
    Feb 29, 2024 · mongodb_2025_10_4_horizontal. support. Currently the W3C Geolocation API is supported by the following desktop browsers: Firefox 3.5+; Chrome ...
  39. [39]
    Geolocation - Implementation Report - W3C on GitHub
    Sep 23, 2025 · Yes, implementations of Geolocation have been created by various browser vendors who are not necessarily the editors of the specification. This ...Missing: members | Show results with:members
  40. [40]
    Which Devices Support Javascript Geolocation via navigator ...
    Aug 28, 2009 · Google Gears provides a geolocation API with a syntax fairly similar to the W3C API syntax. You can install Google Gears on Internet Explorer 6+ ...W3C Geolocation API not working in Chrome - Stack OverflowHow does web browser geolocation work? [closed] - Stack OverflowMore results from stackoverflow.com
  41. [41]
    GeolocationPositionError - Web APIs - MDN Web Docs
    Jun 23, 2025 · The GeolocationPositionError interface represents the reason of an error occurring when using the geolocating device.
  42. [42]
    Control browser features with Permissions Policy | Privacy & Security
    Apr 20, 2022 · Permissions Policy, formerly known as Feature Policy, allows the developer to control the browser features available to a page, its iframes, and subresources.Changes to Permissions Policy · How do I use Permissions...
  43. [43]
    iphone - Why is Geolocation in Mobile Safari way less accurate than ...
    Jul 22, 2011 · Why is Geolocation in Mobile Safari way less accurate than the location ... Safari mainly uses wifi for Geolocation to preserve battery life.<|separator|>
  44. [44]
    How can you fake geolocation in Firefox?
    Jan 3, 2017 · Faking the Geolocation. You can spoof the location provided via the HTML5 Geolocation API this way: Go to about:config . Type in geo.provider ...
  45. [45]
    Permissions-Policy: geolocation directive - HTTP - MDN Web Docs
    Jul 4, 2025 · The HTTP Permissions-Policy header geolocation directive controls whether the current document is allowed to use the Geolocation Interface.
  46. [46]
    Newest Safari no longer working with default options passed by ...
    Jun 19, 2017 · Anyway, with current implementation, unspecified (default) options just break the Geolocation API. Is it possible not to pass timeout set to ...Missing: quirks | Show results with:quirks
  47. [47]
    Geolocation "timeout" · Issue #54 - GitHub
    Apr 17, 2018 · In my tests, I found that Chrome browser seems to limit Geolocation API calls to 1 call per minute, per page. ... Running this simple code ...Missing: differences | Show results with:differences
  48. [48]
    Intent to Change - Geolocation maximum age - Google Groups
    The maximumAge option allows the caller to specify an upper bound for the age of cached position estimates. The age is calculated as the duration from the time ...
  49. [49]
    Chrome geolocation seems to ignore maximumAge parameter
    Nov 23, 2011 · The maximumAge attribute indicates that the application is willing to accept a cached position whose age is no greater than the specified time in milliseconds.navigator.geolocation.getCurrentPosition sometimes works ...W3C geolocation returns cached coordinates - Stack OverflowMore results from stackoverflow.com
  50. [50]
    Geolocation in the Browser—From Google Gears to Geolocation ...
    The discontinued Google Gears plugin was the first approach to access exact location data on the Web as well, apart from coarse location lookups based on ...
  51. [51]
    How to Perform Geolocation Testing on Chrome | BrowserStack
    Sep 30, 2024 · Step 1. Open Chrome Developer Tools: · Step 2. Access the Sensors Panel: · Step 3. Simulate Geolocation · Step 4. Refresh and Test:.
  52. [52]
    Geolocation API overview - Google for Developers
    The Geolocation API is a service that accepts an HTTPS request with the cell tower and Wi-Fi access points that a mobile client can detect.Set up the Geolocation API · Geolocation request and... · Usage and Billing
  53. [53]
    How accurate is IP geolocation? - MaxMind
    Jul 1, 2021 · All of our IP geolocation data comes with an accuracy radius field. The actual geolocation of the IP address is likely within the circle with its center at the ...
  54. [54]
    FusedLocationProviderClient | Google Play services
    Oct 31, 2024 · The main entry point for interacting with the Fused Location Provider (FLP). In order to obtain an instance of this class, see LocationServices.
  55. [55]
    LocationManager | API reference - Android Developers
    android.location. Overview. Interfaces. Geocoder.GeocodeListener ... Browser · CalendarContract · CalendarContract.Attendees · CalendarContract.CalendarAlerts ...
  56. [56]
    Core Location | Apple Developer Documentation
    Core Location provides services that determine a device's geographic location, altitude, and orientation, or its position relative to a nearby iBeacon device.CLLocationManager · Getting the current location of... · CLLocation
  57. [57]
    Privacy Issues of the W3C Geolocation API - eScholarship
    We propose a privacy framework for the consideration of location information and use it to evaluate the W3C Geolocation API, both the specification and its use ...<|control11|><|separator|>
  58. [58]
    Geolocation Accuracy: Top Factors Affecting Data Quality - GeoPlugin
    Jul 11, 2024 · Cell tower triangulation: When using a mobile device, cell towers can track your location. However, the accuracy is only within a few hundred ...Geolocation Accuracy: Top 5... · Interesting Things To Know...
  59. [59]
    Permissions - W3C
    Oct 6, 2025 · Browser support: ... This example uses the Permissions API to decide whether local news should be shown using the Geolocation API or with a button ...
  60. [60]
    [PDF] Browser Permission Mechanisms Demystified
    Feb 27, 2023 · 1) A website requests permission from the user's browser to access hardware resources on the device using Web APIs, such as the Geolocation API ...
  61. [61]
    Secure Contexts - W3C
    Nov 10, 2023 · This specification defines "secure contexts", thereby allowing user agent implementers and specification authors to enable certain features only when certain ...
  62. [62]
    Geolocation API removed from unsecured origins in Chrome 50 | Blog
    Chrome 50 removed the Geolocation API from non-secure origins to protect user location data privacy, requiring HTTPS for pages using it.Missing: W3C | Show results with:W3C