Web应用实际使用时候,geo位置数据是怎么得到的,如何解决偏差问题?
Web应用实际使用时候,geo位置数据是怎么得到的,如何解决偏差问题?
PC端, ip转换得到吗?
手机端/App移动设备, 呢?
SaKamo.
11 years, 3 months ago
Answers
是这样的,web端获取定位主要有以下这么几种形式: 基站定位(蜂窝网络)(手机,100-300m)、gps定位(手机端,10m左右)、wifi定位(用过ap热点找到坐标 30-200m)(手机or pc),ip定位(pc).大概就这么几种。现在各大浏览器又出了什么浏览器定位,用的就是上述定位方式加上他的资源库,这个资源库是由用户将它的地理位置上传所构造的。好处是,有的用户在当前情况下只有某一种不精确的定位方式,通过该资源库,可以获得更精确的定位。定位这个返回的坐标有几种测量单位。google用的和百度用的不一样。中国有法律规定定位的精度(要求有一定偏差)。
真黑黑黑黑
answered 11 years, 3 months ago
一般步骤
- 不管是PC端还是移动端,优先使用浏览器自带的相关API;
- 如果浏览器不支持(如IE8)或定位失败(用户拒绝或定位超时等其他原因),采用IP地址定位的方法进行降级处理。
- 调用第三方的接口将位置信息进行转换,如百度地图的 http://developer.baidu.com/map/jsdemo.htm#a5_2
示例代码:
javascript
// 一些参数 ref http://diveintohtml5.info/geolocation.html#options var options = { }; if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(success, fail, options); } else { // IP定位 } // 定位成功的回调 // `position` ref http://diveintohtml5.info/geolocation.html#the-code function success(position) { } // 定位失败的回调 // `err` ref http://diveintohtml5.info/geolocation.html#errors function fail(err) { // 进行错误处理,选择是否进行IP降级定位 }
参考:
今晚寂寞吗
answered 11 years, 3 months ago