Web pages can use the Geolocation API directly if the web browser implements it. Historically, some browsers could gain support via the [[Google Gears]] [[plug-in (computing)|plugin]], but this was discontinued in 2010 and the server-side API it depended on stopped responding in 2012.<ref>{{cite web |url=https://code.google.com/apis/gears/api_geolocation.html|url-status=dead|archive-url=https://web.archive.org/web/20120214212239/https://code.google.com/apis/gears/api_geolocation.html|title=Geolocation API: Gears API: Google Code|website=Google Code|date=9 July 2009|archive-date=2012-02-04|access-date=2021-04-21}}</ref><ref>[https:// name="code.-google.com/p/gears/wiki/GeolocationAPI GeolocationAPI - gears gear- Provides the geolocation of a device running a Gearsgeo-enabledapi" web browser. - Improving Your Web Browser - Google Project Hosting]. Code.google.com. Retrieved 2014-06-01.</ref>
The Geolocation API is ideally suited to web applications for mobile devices such as [[personal digital assistant]]s (PDA) and [[smartphone]]s. On desktop computers, the W3C Geolocation API works in [[Firefox]] since version 3.5, [[Google Chrome]],<ref>{{cite web |url=http://chrome.blogspot.com/2010/05/new-chrome-stable-release-welcome-mac.html|title=A new Chrome stable release: Welcome, Mac and Linux!|website=Google Chrome Blog|date=25 May 2010|access-date=2021-04-21}}</ref> [[Opera (web browser)|Opera]] 10.6,<ref>{{cite web |url=http://my.opera.com/desktopteam/blog/2010/07/01/opera-10-60-goes-final|url-status=dead|archive-url=https://web.archive.org/web/20111109061925/http://my.opera.com/desktopteam/blog/2010/07/01/opera-10-60-goes-final|title=Opera 10.60 goes final|first=Huib|last=Kleinhout |date=1 July 2010 |work=[[My Opera]]|publisher=[[Opera Software]]|date=2021-07-01|archive-date=2011-11-09|access-date=2 July 20102021-04-21}}</ref> [[Internet Explorer]] 9.0,<ref>{{cite web|title=W3C Geolocation API in IE9 - IEBlog - Site Home - MSDN Blogs|url=http://blogs.msdn.com/b/ie/archive/2011/02/17/w3c-geolocation-api-in-ie9.aspx|url-status=dead|archive-url=https://web.archive.org/web/20110219033657/http://blogs.msdn.com/b/ie/archive/2011/02/17/w3c-geolocation-api-in-ie9.aspx|author=ieblog|website=IEBlog|date=2011-02-17|archive-date=2011-02-19|access-date=2021-04-21}}</ref> and Safari 5. On mobile devices, it works on [[Android (operating system)|Android]] (firmware 2.0+), [[iOS (Apple)|iOS]], [[Windows Phone]] and [[Maemo]]. The W3C Geolocation API is also supported by Opera Mobile 10.1 – available for Android and [[Symbian]] devices (S60 generations 3 & 5) since 24 November 2010.<ref>{{cite web|url=http://www.opera.com/press/releases/2010/11/24/|url-status=dead|archive-url=https://web.archive.org/web/20111104005142/http://www.opera.com/press/releases/2010/11/24/|author=Opera.com|title=Opera Mobilespeeds 10.1up for Nokia smartphones goes finalSymbian browsing|date=2010-11-25|archive-date=2011-11-04|access-date=2021-04-21}}</ref>
[[Google Gears]] provided geolocation support for older and non-compliant browsers, including Internet Explorer 7.0+ as a Gears plugin, and Google Chrome which implemented Gears natively. It also supported geolocation on mobile devices as a plugin for the [[Android (operating system)|Android]] browser (pre version 2.0) and [[Opera Mobile]] for [[Windows Mobile]]. However, the Google Gears Geolocation API is incompatible with the W3C Geolocation API and is no longer supported.
Line 50:
==Implementation==
Though the implementation is not specified, W3C Geolocation API is built on extant technologies, and is heavily influenced by Google Gears Geolocation API. Example: Firefox's Geolocation implementation<ref>{{cite web |url=https://wwwsupport.mozilla.org/en-US/firefoxkb/geolocation/ does-firefox-share-my-___location-websites?redirectslug=does-firefox-share-my-___location-web-sites&redirectlocale=en-US|title=Location-AwareDoes BrowsingFirefox share my ___location with websites? {{!}} Mozilla Support|work=Mozilla Firefox|author-link=Mozilla Firefox|publisher=Mozilla|date=n.d.|access-date=2021-04-21}}</ref> uses Google's network ___location provider.<ref name="code-google-gear-geo-api">{{cite web |url=https://code.google.com/apis/gears/geolocation_network_protocol.html|url-status=dead|archive-url=https://web.archive.org/web/20151222162645/https://code.google.com/p/gears/wiki/GeolocationAPI|title=GeolocationGeolocationAPI API- Networkgears Protocol:- Provides the geolocation of a device running a Gears-enabled APIweb browser. - Improving Your Web Browser - Google Project Hosting|work=Google Code|archive-date=2015-12-22|date=n.d.|access-date=8 August 20112021-04-21}}</ref> Google Gears Geolocation works by sending a set of parameters that could give a hint as to where the user's physical ___location is to a network ___location provider server, which is by default the one provided by Google (code.l.google.com).<ref>{{cite web |url=http://webscannotes.com/?page_id=425|url-status=dead|archive-url=https://web.archive.org/web/20140421184907/http://webscannotes.com/geolocation-api/|title=WebScanNotes.com: W3C Geolocation API|work=WebScanNotes|date=n.comd.|archive-date=2012-03-06|access-date=2021-04-21}}</ref> Some of the parameters are lists of sensed mobile cell towers and Wi-Fi networks, all with sensed signal strengths. These parameters are encapsulated into a JavaScript Object Notation ([[JSON]]) message and sent to the network ___location provider via HTTP POST. Based on these parameters, the network ___location provider can calculate the ___location. Common uses for this ___location information include enforcing access controls, localizing and customizing content, analyzing traffic, [[contextual advertising]] and preventing identity theft.<ref>{{cite web|url=https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1622411|ssrn=1622411 |title=Personal Jurisdiction, Internet Commerce, and Privacy: The Pervasive Legal Consequences of Modern Geolocation Technologies|first=Kevin F.|last=King|date=8 June 2010-06-08|publication-date=2010-06-09|access-date=2021-04-21}}</ref>