In: 前端开发
5 09 2009晚上在Google Code上闲逛,发现google gears从0.4版开始新增了一个获取当前地理位置的Geolocation API。试用了一下,居然准确地找到了我的当前位置,很神奇~
相信大家对Google Gears都已经很熟悉了,三大主要功能:本地存储DataBase、本地服务器LocalServer、任务池WorkerPool,外加一个桌面相关功能DeskTop。如果对Gears的这几个特性不是很了解,可以参看老六写的这篇文章。在我这篇文章里只讨论Geolocation API。
这个API使用起来很简单,下面简单的列一下:
基本就是这样了,在这之前创建factory以及获得permission的代码就不贴了,看下源码就OK了。
另外,随手抓包看了下这个API实现的原理,其实就是post当前用户的一些信息给google服务器(我这里,post的数据有wifi的ssid,信号强度啥的),服务器就会返回当前的位置,这个技术上没啥特别的,关键在于数据的丰富程度与是否精确。
request:
post http://www.google.com/loc/json
data { “access_token” : “2:FIcsRNHXKylSLYpZ:N7RPZxjyMIX4AiMb”, “host” : “test.*.*.com”, “radio_type” : “unknown”, “request_address” : false, “version” : “1.1.0″, “wifi_towers” : [ { "mac_address" : "00-*-*-*-*-ea", "signal_strength" : -73, "ssid" : "***" }, { "mac_address" : "00-*-*-*-*-aa", "signal_strength" : -80, "ssid" : "*-*" }, { "mac_address" : "00-*-*-*-*-ba", "signal_strength" : -44, "ssid" : "*-*" } ] }response:
{“location”:{“latitude”:40.050772,”longitude”:116.308348,”accuracy”:150.0}}
大家有空也可以试一试,看Gears能不能找到你的位置(需要先安装Google Gears,Chrome已经内置了Gears)。点这里
Update:firefox3.5+已经内置了geolocation,所以修改了一下Demo,在firefox3.5+中不需要安装Gears也可以用了,具体实现还是看Demo吧~另外,Gears几大特性逐渐被各大浏览器所内置,Gears也算功德圆满,不久将会退出历史的舞台。
7 Responses to 使用Gears获取当前地理位置
welefen
10月 27th, 2009 at 1:06 pm
还不错。貌似不是很精准,我的地理位置竟然到了闵行区。
星月迷梦
02月 5th, 2010 at 12:30 am
准备试一下··
崔凯
03月 9th, 2010 at 12:07 pm
我跑到了东城……
可以在前端实现的几个地理位置小功能 | 幼学笔记
03月 13th, 2010 at 1:08 pm
[...] 更多内容参考这篇文章:使用Gears获取当前地理位置,以及DEMO。 [...]
风
04月 24th, 2010 at 4:02 pm
楼主好文章,飘过。
刚建的前端开发博客,有空交流一下吧。
http://bokanstar.info
期待更好的文章。
前端开发吧
04月 24th, 2010 at 5:57 pm
踩过,终于又看到新文章了。每次来都能学到新东西,希望下篇文章尽快出来,HOHO。
3g培训
04月 28th, 2010 at 1:42 pm
再来看看。上班没事干。还是希望看到新文章