fbpx
维基百科

W3C地理位置应用程序接口

W3C地理位置应用程序接口(W3C Geolocation API)是一项由万维网联盟提出的标准,旨在标准化接收客户端侧设备的地理位置信息英语geographical location information的接口。[1]此标准定义了一系列兼容ECMAScript标准的对象,这些对象执行于客户端应用程序中并通过查询对应用程序接口(API)透明的位置信息服务器英语Location Information Server获得设备位置。最常见的位置信息来源为IP地址Wi-Fi藍牙MAC地址射频识别(RFID)、Wi-Fi接入位置、设备全球定位系统(GPS)及GSM/CDMA小区识别码。随后服务器根据可用的最佳位置信息返回特定精度的地理位置。

部署于网页浏览器 编辑

网页可在浏览器实现的情况下使用地理位置API。历史上,某些浏览器可通过Google Gears插件实现此功能,但这一项目于2010年废止且其依赖的服务端侧API于2012年停止响应。[2][3]

地理位置API适合应用于与移动设备(如个人数码助理智能手机)适配的网页程序。在桌面计算机上,W3C地理位置API自Firefox 3.5、Google Chrome[4]Opera 10.6、[5]Internet Explorer 9.0、[6]和Safari 5即被支持。掌上设备上,它适用于Android(固件版本2.0+)、iOSWindows PhoneMaemo。W3C地理位置应用程序接口同样被发布于2010年11月24日的Opera Mobile 10.1实现,支持对Android和Symbian(S60第3及第5代)系统。[7]

Google Gears为老旧和不兼容的浏览器提供了地理位置支持,包括Internet Explorer 7.0+,且Google Chrome原生实现Gears的功能。它同样也能在移动设备上支持地理位置,通过提供Android浏览器(2.0版本之前)及Windows MobileOpera Mobile插件的方式实现。但是,Google Gear API与W3C地理位置API且已不受支持。

特性 编辑

W3C地理位置API的结果通常会返回4项位置属性:经度、纬度(坐标)、海拔(高度)和[位置精度]。这些数据均基于位置来源。在某些查询中,海拔可能不返回任何值。

位置来源 编辑

地理位置API不提供位置信息。位置信息由设备所获取(例如智能手机、PC或调制解调器),随后才能在浏览器中被API所服务。通常地理位置将通过使用这些方法的其中一种来尝试确定设备位置。

GPS(全球定位系统)
通常适用于有着GPS的设备。一部有着GPS且设置到高精度模式的智能手机可能从此来源获取位置数据。GPS从卫星信号中计算位置信息。此方法有着最高的准确度;在大多数Android智能手机中,定位准确度可达到10米内。
移动网络位置
手机追踪英语Mobile phone tracking可在无需内置GPS芯片的情况下定位手机或无线调制解调器。
WiFi定位系统
若在室内使用WiFi,设备最有可能使用WiFi定位系统英语Wi-Fi positioning system。部分wifi接入点有着定位服务能力。
IP位置定位
基于最近具有公网IP设备(可为计算机、所连接的路由器或是路由器所使用的ISP)的检测位置。此位置信息基于可用的IP信息,但诸多情况下用户的IP都隐藏在互联网服务提供商NAT的背后,精度只能确保为城市级、地区级甚至是国内级。

实现 编辑

虽然W3C地理位置API未规定实现方法,但是它基于现有的技术构建而成且被Google Gears地理位置API所严重影响。例如:Firefox的地理位置实现[8]使用Google的网络定位提供商。[9]

Google Gears地理位置通过发送可提示用户物理位置的一系列参数至网络定位提供商服务器工作,定位服务器默认为Google所提供的(code.l.google.com)。[10]部分参数为检测到的移动基站及Wi-Fi网络列表与其信号强度。这些参数随后被打包进JavaScript对象表示法(JSON)信息中并通过HTTP POST发送至网络定位提供商。基于这些参数,网络定位提供商可计算位置。人们通常使用位置信息来强制访问控制、本地化与自定义内容;分析流量、個人化網路廣告并防止可能的身份窃取。[11]

示例代码 编辑

下列是一段用于检测浏览器是否包含地理位置API并利用其来获取当前设备位置的简单JavaScript代码。这段代码使用<body onload="geoFindMe()">创建了可于HTML中调用的函数:

const geoFindMe = () => {  if (navigator.geolocation) {  navigator.geolocation.getCurrentPosition(success, error, geoOptions);  } else {  console.log("阁下的网页浏览器不支持地理位置服务。");  } } const success = (position) => {  const latitude = position.coords.latitude;  const longitude = position.coords.longitude;  const altitude = position.coords.altitude;  const accuracy = position.coords.accuracy;  console.log(`纬度:${latitude} 经度:${longitude}`); } const error = (error) => {  console.log(`由于 ${error.code}: ${error.message} 无法获取阁下的位置`); } const geoOptions = {  enableHighAccuracy: true,  maximumAge: 30000,  timeout: 27000 }; 

另请参阅 编辑

参考文献 编辑

  1. ^ Popescu, Andrei (editor, Google Inc.). . W3C. [4 February 2016]. (原始内容存档于2021-05-24). 
  2. ^ . 9 July 2009 [2018-08-11]. (原始内容存档于2012-03-11). 
  3. ^ GeolocationAPI - gears - Provides the geolocation of a device running a Gears-enabled web browser. - Improving Your Web Browser - Google Project Hosting (页面存档备份,存于互联网档案馆). Code.google.com. Retrieved on 2014-06-01.
  4. ^ A new Chrome stable release: Welcome, Mac and Linux!. 25 May 2010 [2018-08-11]. (原始内容于2011-10-07). 
  5. ^ Kleinhout, Huib. Opera 10.60 goes final. My Opera. Opera Software. 1 July 2010 [2 July 2010]. (原始内容于2010-07-02). 
  6. ^ W3C Geolocation API in IE9. [2018-08-11]. (原始内容于2011-06-24). 
  7. ^ Opera.com. . 2010-11-25 [2018-08-11]. (原始内容存档于2013-02-23). 
  8. ^ . Mozilla Firefox. Mozilla. [2018-08-11]. (原始内容存档于2018-02-20). 
  9. ^ . Google Code. Google. [8 August 2011]. (原始内容存档于2012-02-18). 
  10. ^ . WebScanNotes.com. [2018-08-11]. (原始内容存档于2012-03-06). 
  11. ^ King, Kevin F. Personal Jurisdiction, Internet Commerce, and Privacy: The Pervasive Legal Consequences of Modern Geolocation Technologies. 8 June 2010. SSRN 1622411 . 
  1. 如何在JavaScript中实现W3C地理位置API (页面存档备份,存于互联网档案馆
  2. 我在哪 - 一项显示于Google地图上的W3C地理位置 (页面存档备份,存于互联网档案馆

外部链接 编辑

w3c地理位置应用程序接口, geolocation, 是一项由万维网联盟提出的标准, 旨在标准化接收客户端侧设备的地理位置信息, 英语, geographical, location, information, 的接口, 此标准定义了一系列兼容ecmascript标准的对象, 这些对象执行于客户端应用程序中并通过查询对应用程序接口, 透明的位置信息服务器, 英语, location, information, server, 获得设备位置, 最常见的位置信息来源为ip地址, 藍牙, mac地址, 射频识别, rf. W3C地理位置应用程序接口 W3C Geolocation API 是一项由万维网联盟提出的标准 旨在标准化接收客户端侧设备的地理位置信息 英语 geographical location information 的接口 1 此标准定义了一系列兼容ECMAScript标准的对象 这些对象执行于客户端应用程序中并通过查询对应用程序接口 API 透明的位置信息服务器 英语 Location Information Server 获得设备位置 最常见的位置信息来源为IP地址 Wi Fi 藍牙 MAC地址 射频识别 RFID Wi Fi接入位置 设备全球定位系统 GPS 及GSM CDMA小区识别码 随后服务器根据可用的最佳位置信息返回特定精度的地理位置 目录 1 部署于网页浏览器 2 特性 3 位置来源 4 实现 4 1 示例代码 5 另请参阅 6 参考文献 7 外部链接部署于网页浏览器 编辑网页可在浏览器实现的情况下使用地理位置API 历史上 某些浏览器可通过Google Gears插件实现此功能 但这一项目于2010年废止且其依赖的服务端侧API于2012年停止响应 2 3 地理位置API适合应用于与移动设备 如个人数码助理与智能手机 适配的网页程序 在桌面计算机上 W3C地理位置API自Firefox 3 5 Google Chrome 4 Opera 10 6 5 Internet Explorer 9 0 6 和Safari 5即被支持 掌上设备上 它适用于Android 固件版本2 0 iOS Windows Phone与Maemo W3C地理位置应用程序接口同样被发布于2010年11月24日的Opera Mobile 10 1实现 支持对Android和Symbian S60第3及第5代 系统 7 Google Gears为老旧和不兼容的浏览器提供了地理位置支持 包括Internet Explorer 7 0 且Google Chrome原生实现Gears的功能 它同样也能在移动设备上支持地理位置 通过提供Android浏览器 2 0版本之前 及Windows Mobile版Opera Mobile插件的方式实现 但是 Google Gear API与W3C地理位置API且已不受支持 特性 编辑W3C地理位置API的结果通常会返回4项位置属性 经度 纬度 坐标 海拔 高度 和 位置精度 这些数据均基于位置来源 在某些查询中 海拔可能不返回任何值 位置来源 编辑地理位置API不提供位置信息 位置信息由设备所获取 例如智能手机 PC或调制解调器 随后才能在浏览器中被API所服务 通常地理位置将通过使用这些方法的其中一种来尝试确定设备位置 GPS 全球定位系统 通常适用于有着GPS的设备 一部有着GPS且设置到高精度模式的智能手机可能从此来源获取位置数据 GPS从卫星信号中计算位置信息 此方法有着最高的准确度 在大多数Android智能手机中 定位准确度可达到10米内 移动网络位置 手机追踪 英语 Mobile phone tracking 可在无需内置GPS芯片的情况下定位手机或无线调制解调器 WiFi定位系统 若在室内使用WiFi 设备最有可能使用WiFi定位系统 英语 Wi Fi positioning system 部分wifi接入点有着定位服务能力 IP位置定位 基于最近具有公网IP设备 可为计算机 所连接的路由器或是路由器所使用的ISP 的检测位置 此位置信息基于可用的IP信息 但诸多情况下用户的IP都隐藏在互联网服务提供商NAT的背后 精度只能确保为城市级 地区级甚至是国内级 实现 编辑虽然W3C地理位置API未规定实现方法 但是它基于现有的技术构建而成且被Google Gears地理位置API所严重影响 例如 Firefox的地理位置实现 8 使用Google的网络定位提供商 9 Google Gears地理位置通过发送可提示用户物理位置的一系列参数至网络定位提供商服务器工作 定位服务器默认为Google所提供的 code l google com 10 部分参数为检测到的移动基站及Wi Fi网络列表与其信号强度 这些参数随后被打包进JavaScript对象表示法 JSON 信息中并通过HTTP POST发送至网络定位提供商 基于这些参数 网络定位提供商可计算位置 人们通常使用位置信息来强制访问控制 本地化与自定义内容 分析流量 個人化網路廣告并防止可能的身份窃取 11 示例代码 编辑 下列是一段用于检测浏览器是否包含地理位置API并利用其来获取当前设备位置的简单JavaScript代码 这段代码使用 lt body onload geoFindMe gt 创建了可于HTML中调用的函数 const geoFindMe gt if navigator geolocation navigator geolocation getCurrentPosition success error geoOptions else console log 阁下的网页浏览器不支持地理位置服务 const success position gt const latitude position coords latitude const longitude position coords longitude const altitude position coords altitude const accuracy position coords accuracy console log 纬度 latitude 经度 longitude const error error gt console log 由于 error code error message 无法获取阁下的位置 const geoOptions enableHighAccuracy true maximumAge 30000 timeout 27000 另请参阅 编辑基于位置的服务 本地搜索 英语 Local search Internet 参考文献 编辑 Popescu Andrei editor Google Inc Geolocation API Specification W3C Recommendation 24 October 2013 W3C 4 February 2016 原始内容存档于2021 05 24 Geolocation API Gears API Google Code 9 July 2009 2018 08 11 原始内容存档于2012 03 11 GeolocationAPI gears Provides the geolocation of a device running a Gears enabled web browser Improving Your Web Browser Google Project Hosting 页面存档备份 存于互联网档案馆 Code google com Retrieved on 2014 06 01 A new Chrome stable release Welcome Mac and Linux 25 May 2010 2018 08 11 原始内容存档于2011 10 07 Kleinhout Huib Opera 10 60 goes final My Opera Opera Software 1 July 2010 2 July 2010 原始内容存档于2010 07 02 W3C Geolocation API in IE9 2018 08 11 原始内容存档于2011 06 24 Opera com Opera Mobile 10 1 for Nokia smartphones goes final 2010 11 25 2018 08 11 原始内容存档于2013 02 23 Location Aware Browsing Mozilla Firefox Mozilla 2018 08 11 原始内容存档于2018 02 20 Geolocation API Network Protocol Gears API Google Code Google 8 August 2011 原始内容存档于2012 02 18 WebScanNotes com W3C Geolocation API WebScanNotes com 2018 08 11 原始内容存档于2012 03 06 King Kevin F Personal Jurisdiction Internet Commerce and Privacy The Pervasive Legal Consequences of Modern Geolocation Technologies 8 June 2010 SSRN 1622411 nbsp 缺少或 url 为空 帮助 如何在JavaScript中实现W3C地理位置API 页面存档备份 存于互联网档案馆 我在哪 一项显示于Google地图上的W3C地理位置 页面存档备份 存于互联网档案馆 外部链接 编辑W3C地理位置API详细说明 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title W3C地理位置应用程序接口 amp oldid 71700455, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。