W3C Geolocation API: Difference between revisions

Content deleted Content added
Bender the Bot (talk | contribs)
 
(17 intermediate revisions by 10 users not shown)
Line 1:
{{Short description|Javascript API to geolocate devices}}
{{Use dmy dates|date=June 2020}}
{{Infobox technology standard
| title = Geolocation API
| long_name =
| native_name = Geolocation API
| native_name_lang = en
| image =
| caption =
| year_started first_published = {{Start date and age|df=yes|2008|12|22}}<ref name="geolocation-spec-hist">{{Cite web|url=https://www.w3.org/standards/history/geolocation-API|title=Geolocation API Specification 2nd Edition Publication History - W3C|date=n.d.|access-date=2021-04-21}}</ref><ref name="geolocation-spec-20081222">{{cite web|url=https://www.w3.org/TR/2008/WD-geolocation-API-20081222/|title=Geolocation API Specification|first=Andrei (editor, Google Inc.)|last=Popescu|website=W3C|publisher=Geolocation Working Group|date=2008-12-22|access-date=2021-04-21}}</ref>
| status = [[World Wide Web Consortium#W3C_recommendation_(REC)|W3C Recommendation]]
| year_started = {{Start date and age|2008}}<ref name="geolocation-spec-hist">{{Cite web|url=https://www.w3.org/standards/history/geolocation-API|title=Geolocation API Specification 2nd Edition Publication History - W3C|date=n.d.|access-date=2021-04-21}}</ref><ref name="geolocation-spec-20081222">{{cite web|url=https://www.w3.org/TR/2008/WD-geolocation-API-20081222/|title=Geolocation API Specification|first=Andrei (editor, Google Inc.)|last=Popescu|website=W3C|publisher=Geolocation Working Group|date=2008-12-22|access-date=2021-04-21}}</ref>
| first_published = {{Start date and age|2008|12|22}}<ref name="geolocation-spec-hist" /><ref name="geolocation-spec-20081222" />
| version = W3C Recommendation
| version_date = {{Start date and age|2016df=yes|112022|0809|01}}<ref name="geolocation-spec" />
| preview =
| preview_date =
Line 29 ⟶ 26:
}}
 
The '''W3C Geolocation API''' is an effort by the [[World Wide Web Consortium]] (W3C) to standardize an interface to retrieve the [[geographical ___location information]] for a client-side device.<ref name="geolocation-spec">{{cite web|url=https://www.w3.org/TR/2008/WD-geolocation-API-20081222/|title=Geolocation API Specification 2nd Edition|firstfirst1=Andrei (editor, Google Inc.)Marcos|last1=Cáceres|first2=Reilly|lastlast2=PopescuGrant|website=W3C|publisher=Geolocation Working Group|date=20162022-1109-0801|access-date=20212024-0402-2108}}</ref> It defines a set of objects, [[ECMAScript]] standard compliant, that executing in the client application give the client's device ___location through the consulting of [[Location Information Server]]s, which are transparent for the [[application programming interface]] (API). The most common sources of ___location information are [[IP address]], [[Wi-Fi]] and [[Bluetooth]] [[MAC address]], [[radio-frequency identification]] (RFID), Wi-Fi connection ___location, or device [[Global Positioning System]] (GPS) and [[GSM]]/[[CDMA2000|CDMA]] cell IDs. The ___location is returned with a given accuracy depending on the best ___location information source available.
 
The result of W3C Geolocation API will usually give 4 ___location properties, including [[latitude]] and [[longitude]] (coordinates), altitude (height), and [accuracy [of the position gathered], which all depend on the ___location sources.{{Citation needed|date=February In some queries, altitude may yield or return no value.2023}}
 
== Deployment in web browsers ==
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-0414 |access-date=2021-04-21 }}</ref><ref name="code-google-gear-geo-api" />
 
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=httphttps://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 |work=[[My Opera]] |publisher=[[Opera Software]] |date=2021-07-01 |archive-date=2011-11-09 |access-date=2021-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 speeds up Symbian browsing|date=2010-11-25|archive-date=2011-11-04|access-date=2021-04-21 }}</ref> Browsers initially allowed access to the API in insecure contexts, but in the context of Secure Contexts,<ref>{{Cite web |title=Secure Contexts |url=https://www.w3.org/TR/secure-contexts/Overview.html |access-date=2022-10-13 |website=W3.org }}</ref> browsers, e.g., Chrome,<ref>{{Cite web |title=Intent to Remove: Insecure origin usage of geolocation |url=https://groups.google.com/a/chromium.org/g/blink-dev/c/ylz0Zoph76A/m/jaMAcld6BQAJ |access-date=2022-10-13 |website=Groups.Google.com }}</ref> now generally require a secure connection.
 
[[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.
 
==Features==
The result of W3C Geolocation API will usually give 4 ___location properties, including latitude and longitude (coordinates), altitude (height), and [accuracy of the position gathered], which all depend on the ___location sources. In some queries, altitude may yield or return no value.
 
==Location sources==
{{Unreferenced section|date=January 2022}}
 
The Geolocation API does not provide the ___location information. The ___location information is obtained by a device (such as a smartphone, PC or modem), which is then served by the API to be brought in browser. Usually geolocation will try to determine a device's position using one of these several methods.
 
; GPS (Global Positioning System): This happens for any device which has [[Global Positioning System|GPS]] capabilities. A smartphone with GPS capabilities and set to high accuracy mode will be likely to obtain the ___location data from this. GPS calculate ___location information from the satellite signal. It has the highest accuracy; in most Android smartphones, the accuracy can be up to 10 metres.
; Mobile Network Location: [[Mobile phone tracking]] is used if a cellphone or wireless modem is used without a GPS chip built in.
; Wi-Fi Positioning System: If Wi-Fi is used indoors, a [[Wi-Fi positioning system]] is the likeliest source. Some Wi-Fi spots have ___location services capabilities.
; IP Address Location: Location is detected based on the nearest Publicpublic IP Addressaddress on a device (which can be a computer, the router it is connected to, or the [[Internet Service Provider]] (ISP) the router uses). The ___location depends on the IP information available, but in many cases where the IP is hidden behind Internetan ServiceISP Provider[[network address NATtranslation]], the accuracy is only to the level of a city, region or even country.
 
==Implementation==
Line 83 ⟶ 81:
 
==See also==
* [[Local search (Internet)]]
* [[Location-based service]]s
*[[Local search (Internet)]]
 
==References==
{{reflistReflist}}
 
==External links==
Line 96 ⟶ 94:
 
[[Category:Application programming interfaces]]
[[Category:Internet geolocation]]
[[Category:HTML5]]
[[Category:WebInternet standardsgeolocation]]
[[Category:Location-based software]]
[[Category:InternetWeb geolocationstandards]]