Location in Android: Part 1

android location

Android Location

2009年以Facebook(http://facebook.com)、开心网(http://kaixin001.com)为代表的SNS(Social Networking Services)热了;2010年以Twitter(http://twitter.com)、新浪微博(http://t.sina.com.cn)为代表的Microblogging热了;2011年呢?

热点诞生之前总是有预热,观察这个预热,没准儿就能看出未来的热点。那么2010年谁在预热呢?以Foursquare(http://foursquare.com)、玩转四方(http://sifang.com)为代表的LBS(Location Based Service)在这一年逐渐进入人们的视野,并且似乎有迅速成长的苗头。

现在,随着移动互联网的兴起,很多公司和个人都在探索LBS,如何在应用和服务当中结合位置信息创造出新服务,还没有看到成功的样板。此前,腾讯公司将查看好友的地理位置包装成了增值服务–“千里眼”,卖给QQ用户,一次两毛,包月十块,这等出卖用户隐私的“伎俩”可以看作是伪LBS。尽管如此,我们还是可以想象未来LBS的市场是非常广阔的。

LBS搭配移动互联,结合我目前的工作,就是如何在Android上开发LBS。既然是“基于位置的服务”,那么首先要明白如何获得位置。传统意义上的位置,就是指门牌号一类的描述,虽然可以被人理解,但是无法被计算机理解。为了让计算机能够理解“位置”,地理学上的位置,即经纬度被引入进来。

获取经纬度信息,一般都会想到GPS(Global Positioning System)。这个前身为美国军方卫星定位系统,在推出之后迅速发展成为最大的民用定位服务,现在市场上的车载导航仪、手机导航大都使用GPS。在Android上,开发者可以利用系统提供的API方便获得位置信息(android.location.Location)。

没有GPS,移动设备,例如手机,如何获取位置信息?现在有一些应用,例如Google Map在没有GPS的情况上,也能在我的手机(HTC Touch)上标识我的位置,–尽管往往误差比较大。此类位置的获取有赖于手机无线通讯信号,当手机处在信号覆盖范围内,手机可以获得该区域(即通讯术语中的“小区”)的识别号。因为这些识别号是惟一的,因此可以将识别号和地理坐标对应起来,因此根据识别号就可以知道地理位置。

那么既没有GPS,也没有移动通讯网络接入怎么办?Google的粉丝应该留意到2010年Eric Schmidt一直在为收集私人WI-FI数据在纠结,Google为什么要收集WI-FI数据呢?显然不是为了像国内某些没品德的人那样去“蹭网”,原因之一就是WI-FI定位。它的原理是首先收集每个WIFI无线接入点的位置,对每个无线路由器进行唯一的标识,在数据库中注明这些接入点的具体位置。 使用时,但发现有WI-FI接入点,则进入到数据中查看匹配的记录,进而得到位置信息。

以上三种获取位置的技术在Android均得到了支持,通过系统自带的Setting应用, 进入到“Location & security”,可以看到在“My Locaiton”下,有“Use wireless networks”和“Use GPS satellites”。因此,开发者可以通过三种渠道获得使用者当前者的位置信息,不必担心没有GPS就无法使用的问题。

1 Comment

[…] 原文链接:http://www.poemcode.net/2010/12/location-in-android-1/ >>> 进入[Android2D游戏开发]主题文章列表 转载编辑: Fgamers […]

Leave a comment

Your comment