在我的应用程序中读取我当前的位置(国家、城市、地区等)之前,是否需要同时打开Internet
和打开?GPS
如果是,那么是否有任何替代方法可以仅从 GPS 获取位置?由于互联网可用性是一个问题。
5 回答
正如其他人所说,GPS 不需要互联网。
GPS基本上是一种基于卫星的定位系统,旨在根据从 GPS 星座中的多个卫星接收到的时间信息计算地理坐标。GPS 的首次定位时间 (TTFF) 相对较慢,并且从冷启动(意味着没有最后一个已知位置)开始,可能需要长达 15 分钟才能从卫星下载所需的数据以计算位置。 蜂窝网络使用的A-GPS通过使用蜂窝网络将卫星数据传送到手机,缩短了这一时间。
但无论是 A-GPS 还是 GPS 位置,派生的只是地理坐标(纬度/经度)。仅从 GPS 获取更多信息是不可能的。
为了能够返回坐标以外的任何内容(例如地址),您需要一些机制来执行Reverse Geocoding。通常这是通过查询服务器或网络服务来完成的(例如使用Google 地图或Bing 地图,但还有其他)。一些服务将允许您在本地缓存数据,但仍需要一段时间的互联网连接才能下载周边地区的地图信息。
虽然这需要大量的工作,但您可以编写自己的工具来执行反向地理编码,但您仍然需要能够将数据存储在某个地方,因为执行此操作所需的数据量远远超过您可以存储在电话,这意味着您仍然需要互联网连接才能做到这一点。如果您想到 Garmin GPS 导航装置之类的工具,它们确实会在本地存储数据,所以这是可能的,但您需要对其进行优化以获得最大的存储空间,并且可能需要比手机中通常可用的更多的东西。
底线:
对您的问题的简短回答是,不,您不需要有效的互联网连接来获取坐标,但除非您正在构建专用设备或拥有无限存储空间,否则您将需要互联网连接才能将这些坐标转换为其他任何东西。
有两个问题:
- 根据您的设备接收到的一些外部信号获取当前坐标(经度、纬度,可能还有海拔),以及
- 从坐标中导出人类可读的位置(地址)。
要获得坐标,您不需要互联网。GPS是基于卫星的。但是要从坐标中获取街道/城市信息,您需要自己在设备上实现地图和相应的算法(大量工作!)或依赖经过验证的服务,例如 Google,在这种情况下,您需要互联网连接。
最近,谷歌允许缓存地图,这至少允许您在没有数据连接的情况下在地图上显示您的当前位置,前提是您提前缓存了地图,当您可以访问互联网时。
GPS不需要任何类型的互联网或无线连接,但有像A-GPS这样的技术使用移动网络来缩短首次定位时间,或在卫星能见度低的情况下缩短初始定位或提高精度.
Android 手机倾向于使用 A-GPS。如果没有连接,他们使用纯 GPS。它们不会覆盖数据网络模式。如果您停用它,手机将不会使用任何数据连接(如果您在国外,这很方便,并且不想支付昂贵的数据漫游费用)。
我发现 GPS 不需要互联网,但当然如果您需要下载地图,则需要数据连接或 wifi。
http://androidforums.com/samsung-fascinate/288871-gps-independent-3g-wi-fi.html http://www.droidforums.net/forum/droid-applications/63145-does-google-navigation-gps -requires-3g-work.html