Content deleted Content added
Franian1001 (talk | contribs) |
m →Deployment in web browsers: HTTP to HTTPS for Blogspot |
||
(41 intermediate revisions by 29 users not shown) | |||
Line 1:
{{Short description|Javascript API to geolocate devices}}
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>{{cite web |url=https://www.w3.org/TR/geolocation-API/ |title=Geolocation API Specification: W3C Recommendation 24 October 2013 |first=Andrei (editor, Google Inc.) |last=Popescu |publisher=W3C |accessdate=4 February 2016}}</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.▼
{{Infobox technology standard
| title = Geolocation API
| long_name =
| image =
| caption =
| 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|last=Popescu|website=W3C|publisher=Geolocation Working Group|date=2008-12-22|access-date=2021-04-21}}</ref>
| version = W3C Recommendation
| version_date = {{Start date and age|df=yes|2022|09|01}}<ref name="geolocation-spec" />
| preview =
| preview_date =
| organization = {{Plainlist|
* {{abbr|[[World Wide Web Consortium|W3C]]|World Wide Web Consortium}}
* [[Google]]
}}
| committee = Geolocation Working Group<ref name="geolocation-spec" />
| editors = Andrei Popescu<ref name="geolocation-spec" />
| authors =
| base_standards =
| related_standards =
| abbreviation =
| ___domain = [[Geographical ___location information]]
| license =
| website = {{URL|https://www.w3.org/TR/geolocation-API/}}
}}
▲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
The result of W3C Geolocation API will usually give 4 ___location properties, including [[latitude]] and [[longitude]] (coordinates), altitude (height), and
== 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 |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-14 |access-date=2021-04-21 }}</ref><ref
The Geolocation API is ideally suited to web applications for mobile devices such as
{{Unreferenced section|date=January 2022}}
▲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==
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
; Mobile Network Location: [[Mobile phone tracking]] is used if a cellphone or wireless modem is used without a GPS chip built in.
;
; IP Address Location: Location is detected based on the nearest
==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://support.mozilla.org/en-US/kb/does-firefox-share-my-___location-websites?redirectslug=does-firefox-share-my-___location-web-sites&redirectlocale=en-US|title=Does Firefox 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=GeolocationAPI - gears - Provides the geolocation of a device running a Gears-enabled web browser. - Improving Your Web Browser - Google Project Hosting|work=Google Code|archive-date=2015-12-22|date=n.d.|access-date=2021-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
▲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 |title=WebScanNotes.com: W3C Geolocation API |work=WebScanNotes.com}}</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 |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}}</ref>
===Example code===
Simple [[JavaScript]] code that checks if the browser has the Geolocation API implemented and then uses it to get the current position of the device. this code creates a function which can be called on HTML using <code><body onload="geoFindMe()"></code>:
<
const geoFindMe = () => {
if (navigator.geolocation) {
Line 52 ⟶ 78:
timeout: 27000
};
</syntaxhighlight>
==See also==
* [[Local search (Internet)]]▼
* [[Location-based service]]
▲*[[Local search (Internet)]]
==References==
{{
==External links==
Line 69 ⟶ 92:
{{W3C standards}}
{{Web interfaces}}
▲{{Use dmy dates|date=March 2011}}
[[Category:Application programming interfaces]]
[[Category:Geolocation]]▼
[[Category:HTML5]]
[[Category:
[[Category:Location-based software]]
|