这段时间在做定位功能,在这里总结一下,自己对定位的理解。
一,从三大系统Android, IOS, WP的角度上看,各系统均有自己的Map SDK。
安卓有强大的Google Map API,但是很多厂商的rom里是阉割掉的,所以这个渠道不能用,不带google map api的系统也可以通过系统的LocationService来获取位置服务,但是没有了api的优化,通过位置服务来实现定位成功率很低,当然这也和google服务在国内支持的不好有关,经常no response或者time out。
爱疯和温疯系统SDK提供的定位功能均能很好的实现定位,基本上不考虑定位失败的因素,这和苹果,微软的对华策略关系很大。
二,国内地图服务的供应商均有提供定位的功能,这里我试过百度api,图吧api,搜狗api。
百度地图api提供的非常全面,有面向flash,javascript,web,android,ios等等,很强大,定位速度也很快,但据网上讲,定位精度没有google高,这个我没有实际测试。百度对android平台的sdk大小有1m,包含jar和so文件,对于apk大小要求严格的app来说还是挺致命的。百度api使用很方便,个人注册key来使用就ok,商业使用的话可以给百度发邮件,一个工作日内,百度商务会和你联系,并了解你公司app的情况来决定合作事宜。
图吧的地图api是免费使用的,但是定位功能是收费项目,果断不使用。
搜狗api的jar大概有700多k,对于我们这种要求apk大小严格的app来说,没有任何吸引力。
三,定位方式大致分两类:网络定位和GPS定位。
一般情况下我们很少使用GPS定位,因为这个功能的局限太多,首先GPs需要在室外使用,因为在房间里根本搜不到卫星啊亲,其次GPS的定位速度很慢,超过了用户的忍耐极限,如果你在一个旋转的进度条上等个三秒,那么你多半会按back键。但GPS定位的好处是不需要联网。
网络定位也分几种方式,首先的SDK提供的定位接口,一般来讲都需要相应的权限,android手机即使给了权限也不好使,因为墙啊亲!android的定位接口也是分几种的,第一种通过googlemap的api来定位,成功率相对较高;第二种LocationService定位,成功率很低很低很低;第三种通过TelephonyService获取CellId基站Id,并向google基站定位接口www.google.com/loc/json发送json请求来获取基站位置,由此实现基站定位,经过测试中国移动,中国联通的2G支持的很好,成功定位的概率达到80%,但是3G信号基本上0成功。WP和IOS的SDK定位比较给力,就不再赘述。
其次通过百度地图api等国内地图服务商提供的地图服务是很快,很稳定的,基本上不需要设置权限,走网络就ok。
最后,我们还可以通过wifi定位,即获取周围wifi的mac地址上传google服务器,获取更加精确的定位信息。
总结一下,如果想实现快速稳定的定位功能,还是使用国内地图服务商的api服务吧。
分享到:
相关推荐
在Android平台上,基站定位是一种基于移动通信网络的定位技术,主要利用手机与周围基站之间的信号交互来确定设备的位置。此技术对于那些GPS信号无法获取或者信号弱的环境(如室内)尤其有用。以下是对"android 基站...
在Android开发中,GPS(全球定位系统)和基站定位是两种常见的定位技术,它们用于获取设备的地理位置信息。本文将详细讲解这两种定位方式,并结合Android Studio的开发实践,阐述如何在实际应用中实现它们。 首先,...
基站定位是通过测量手机与周围多个基站之间的信号强度和信号到达时间(Time Difference of Arrival, TDOA)来估算设备的位置。百度地图API提供了这样的服务,允许开发者在没有GPS或者GPS信号弱的情况下,依然能够...
在Android系统中,基站定位主要依赖于手机接收到的基站信号强度和角度。以下是一些关键知识点: 1. **LocationManager**:这是Android系统中用于定位服务的核心组件,它可以获取来自各种定位提供者的地理位置信息,...
在Android系统中,基站定位是一种基于移动通信网络的定位技术,它通过获取手机与周围基站之间的信号强度和角度信息来确定设备的位置。基站定位在没有GPS信号或者GPS信号较弱的情况下,仍然能够提供一定程度的位置...
在Android开发中,基站定位是一种常见的获取用户地理位置的方法,它主要依赖于移动设备与周围基站之间的信号强度来确定位置。这种技术尤其适用于GPS信号不佳或者无法接收到GPS信号的环境,如室内。在这个名为...
在Android系统中,基站定位是一种基于移动通信网络的定位方式,它通过获取手机与周围基站的距离来估算设备的位置。这种定位方法尤其适用于GPS信号不可用或者较弱的环境,如室内或城市高楼之间。本节将深入探讨...
### Android定位之基站定位 #### 一、概述 在Android应用开发中,定位技术是非常重要的一个环节。通常情况下,我们可以通过GPS(全球定位系统)来实现精准定位,但当设备处于室内或没有GPS信号覆盖的地方时,GPS...
在Android系统中,基站定位是一种常见的移动设备定位技术,它基于手机接收到来自周围基站的无线电信号强度来确定设备的位置。本压缩包"Android 基站定位源码.zip"包含了一个实现这一功能的源代码示例。下面将详细...
在Android系统中,基站定位是一种常见的位置获取方式,尤其在GPS信号不佳或者无法获取GPS卫星信号的情况下,基站定位成为手机定位的重要补充。本教程将详细讲解如何在Android应用中实现基站定位功能。 基站定位原理...
在Android平台上,GPS(全球定位系统)和基站定位是两种主要的移动设备定位技术。GPS定位依赖于天空中的卫星信号,而基站定位则是通过测量手机与周围基站的信号强度来估算位置。这两种方法各有优缺点,GPS通常提供更...
在Android系统中,基站定位是一种常见的移动设备定位技术,它基于手机接收到的周围基站的信号强度来估算设备的位置。基站定位通常与GPS(全球定位系统)定位相结合,以提高在城市环境中或室内无法获取GPS卫星信号时...
在Android系统中,基站定位是一种常见的移动设备定位方式,它依赖于手机与周围移动通信基站之间的信号交互来确定设备的大致位置。基站定位通常用于没有GPS信号或GPS信号较弱的环境中,例如室内或者城市高楼区。以下...
基站定位利用手机接收到的基站信号,适用于城市环境,精度受基站密度影响。Wi-Fi定位则是通过识别周围的Wi-Fi热点来确定位置,适合室内定位,但需要足够的热点数据支持。 在源码中,"ReadGpsData"可能是一个关键类...
总的来说,这个源码包提供了学习和实践Android定位服务的宝贵资源,涵盖了从基础的GPS定位到更复杂的WiFi和基站定位,以及可能的融合定位策略。对于任何想要提升Android定位技能的开发者来说,这是一个很好的学习...
在Android系统中,基站定位是一种常见的移动设备定位技术,它依赖于手机接收到来自周围基站的信号强度来确定设备的位置。这种技术对于那些GPS信号不强或者无法获取的室内环境尤为有用。本压缩包"Android基站定位源码...