码迷,mamicode.com
首页 > Web开发 > 详细

关于HTML5-geolocation

时间:2016-02-10 01:35:55      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:

最开始,想在自己的简历中实现这样一个地图效果:自动获取HR的当前位置,与我所在位置做距离差。如在相应范围之内就弹出相应对话框巴拉巴拉。初步代码写好后在浏览器里测试(mac版chrome),发现浏览器在请求http://www.googleapis.com获得经纬度。看到这个域名心就凉了一半,由于众所周知的原因,也就是说不那啥geolocation就根本获取不了地理信息。翻了一些文档,请教了一些高手,发现这个问题在桌面浏览器中可能是无解的。

 

HTML5文档中,关于geolocation的位置信息,记录来源包括GPS、IP地址、RFID、WIFI和蓝牙的MAC地址、以及GSM/CDMS 的ID等等。但规范中没有规定使用这些设备的先后顺序,在具体的实现中,手机等移动设备会优先使用GPS定位,而笔记本和不带GPS的平板,最准的定位是WIFI,至于网线上网的台式机,一般就只能使用IP来定位了,准确度实在堪忧。

在这些方法里,GPS定位最好理解,卫星直接给出定位数据。而WIFI和IP地址定位,都不是浏览器本身能够实现的。这两种方式都必须将IP地址或WIFI信号收集到的周围路由信息,上传到某个服务器,由服务器的查询计算位置信息,然后返回给浏览器。然而火狐、chrome、Opera等着主流浏览器都是用谷歌提供的API来查询,被墙的可能非常大。

 

最终可能的解决方案就是:PC上不要用这个API。一来查询API被墙,二来,就算没被墙,最多也只能做到通过IP地址找到你的城市。

 

技术上可能确实无解,但也有一些从交互的角度解决问题的思路:比如故意定位错误,给用户手动变更当前坐标的提示(通过搜索或者拖拽开始指针)。

 

之前在知乎的提问:https://www.zhihu.com/question/39362267

关于HTML5-geolocation

标签:

原文地址:http://www.cnblogs.com/butcherv/p/5185822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!