转载: http://blog.csdn.net/cutesource/article/details/7299372
LBS在移动设备和浏览器里已应用地非常广泛,基于API能很轻松地实现一些和地址位置有关的应用,但一直对这些API背后是如何获取使用者的位置信息却不得而知,今天花了时间粗浅地研究了一下:
得到位置信息主要通过两种途径:GPS和WIFI
1. GPS
GPS基本原理是测量出已知位置的卫星到用户接收机之 间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以 根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过记录卫星信号传播到用户所经历的时间,再将其乘以光速得到。可见GPS导航系统卫星 部分的作用就是不断地发射导航电文。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标x、y、z外,还要引进一个 Δt即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。
由上可知,GPS并不是我原先所想的,GPS设备向卫星发请求,卫星把位置返回的模式。
由GPS的原理可以得知它定位的优缺点:
- 优点:在空旷地区比较准确,覆盖面比较广
- 缺点:需要比较长时间定位,比较耗电池,在室内work不太好,需要GPS设备支持
2. WIFI
Google和Skyhook等一些 Geolocation service provider会在全世界范围内去收集WIFI热点的位置信息,然后用户的设备只要能支持WIFI就能获取到周围WIFI热点的位置和信号强弱信息,然 后把这些信息发给Google或Skyhook,就能得到自己的位置。这其中最为关键的是WIFI热点的位置信息收集。一般有两种方式,一是 provider(如Google)自己开车到世界各地去收集,如下图所示:
城市街道:
三轮车:
室内:
另一种就是通过用户参与的方式,由用户的设备或人工录入来提供位置信息。
各浏览器就是基于WIFI来定位,但所使用的provider却是不同的:
Firefox & Grome: Google
Safari: Skyhook
由wifi定位的原理可以得知它的优缺点:
- 优点:比较准确,适用于室内环境,相应速度快
- 缺点:在wifi热点少的地方不适用
还有一些其他定位方式:
3. IP
IP定位原理很简单,就是通过你设备的物理地址所备案的地址信息来定位,但这种方式很难准确,特别是在基于proxy来上网的情况下,一般作为GPS和WIFI都不支持的情况下大致模糊匹配,比如各大团购网站检测用户所在城市。
4. 手机基站
和WIFI原理类似,就是把WIFI热点换成基站,实际上Apple的设备就是把WIFI和基站信息结合起来进行定位。
相关推荐
工作原理 地理定位主要依赖于三种技术: - **GPS(全球定位系统)**:这是最常见的方式,通过接收至少四颗卫星的信号来计算设备的位置。在户外无遮挡的情况下,GPS 可以提供非常精确的位置信息。 - **Wi-Fi三角...
《jQuery Geolocation插件:简化W3C地理位置API的前端应用》 在现代网页开发中,获取用户的位置信息已经成为一种常见的需求,这得益于W3C制定的Geolocation API。然而,对于开发者而言,直接使用原生的Geolocation ...
下面将详细阐述`geolocation` API的工作原理、使用方法以及相关应用。 `geolocation` API 的核心在于获取用户的位置信息,这通常包括经度、纬度和海拔高度。这些数据可以通过多种方式获取,如GPS、Wi-Fi信号强度、...
在IT领域,IP地址信息和地理定位(geolocation)是两个关键概念,它们在互联网通信、网络管理和数据分析中起着至关重要的作用。IP地址是Internet Protocol Address的缩写,是互联网上的唯一标识符,用于区分网络上的...
LoRaWAN™ infrastructure provides a geolocation solution for low-power wide-area networks (LPWANs), enabling a wide range of applications requiring location determination for batterypowered endpoints....
在IT行业中,地理定位(Geolocation)是一项关键的技术,它允许设备通过网络连接确定其物理位置。这篇博客“Geolocation定位你当前所在位置”可能是关于如何利用JavaScript API和其他相关技术来获取用户地理位置的...
geolocation地理定位
Js-geolocation 是一个 Go 开发的,使用谷歌服务的客户端地理位置服务。地理位置数据库是由 Google 维护,非常可靠。{ "city":"cluj-napoca", "cityLatLong":{ "lat":46.777248, "long":23.59989 }, ...
MapNav-Geolocation Toolkit 1.5.0 插件为最新版。是Unity 地理定位功能开发的必选插件。功能包括2D/3D对象地理定位,GPS导航和在线地图。只要你厉害,试试用这个开发个自己的轻量级 “高德地图”的App。
在这个讨论中,我们将深入探讨Geolocation API的使用、工作原理以及在实际开发中的应用。 首先,Geolocation API是HTML5的一个新增特性,它提供了一种标准化的方法来获取设备(通常是指浏览器所在的设备)的地理...
首先,书中涵盖了电磁场的基础理论,包括电磁波的传播、散射和反射等基本概念。这些理论知识为后续的计算和应用提供了坚实的基础。读者将学习到如何运用这些理论来构建模型,模拟信号在不同环境下的传播特性。 其次...
`geolocation.getCurrentPosition` 是 Geolocation API 的关键方法,用于获取设备的当前位置。这个方法是异步的,意味着它不会立即返回结果,而是通过传递给 `geolocationSuccess` 回调函数的 `Position` 对象来传递...
Geolocation
本文将深入解析名为"geolocation-源码"的压缩包文件,以帮助理解这一关键技术的工作原理和实现方式。 首先,我们来看“geolocation-源码.zip”中的核心组成部分。这个压缩包通常包含了一组JavaScript文件,它们是...
IP_geolocation_databases_tool_and_library._IP_地理位置_ips
本文将详细介绍如何在JavaScript中使用Geolocation API,包括其基本概念、实现步骤、代码示例以及实际应用场景。 Geolocation API为Web开发者提供了一个强大的工具,可以轻松实现基于位置的功能。无论是显示地图、...
首先,我们需要理解 Geolocation 的基本概念。地理定位是通过 IP 地址识别用户所在位置的技术。这通常涉及到与第三方服务提供商如 MaxMind、IP2Location 或 GeoIP 数据库的交互,这些服务能够提供关于 IP 地址的详细...
Angular的地理位置API 部分 这是与Angular一起使用的基于基于Observable的抽象安装如果您没有 : npm i @ng-web-apis/common现在安装软件包: npm i @ng-web-apis/geolocation如何使用GeolocationService ...
通过软件工程原理,对这个系统进行需求分析、设计、代码实现和测试,并介绍了基于HTML5 Geolocation API的考勤管理系统软件的设计、实现和各个过程中存在的问题与解决方法。 知识点5: 考勤管理系统的需求分析 在...