您当前的位置定位 SDK>Android 定位SDK>常见问题

常见问题

百度地图定位SDK是否收费?

百度地图定位SDK已申请了国家专利。现在针对非商业应用完全免费开放。也欢迎您把您的产品介绍发给我们,审核后,我们将在网站的成功案例页面展示您的应用。详询:geolocation@baidu.com。

百度地图定位SDK是否有接口限制?

目前没有任何限制,但不支持多线程并发访问。

百度地图定位SDK使用什么坐标系?

百度定位SDK可以返回三种坐标系,分别是bd09, bd09ll和gcj02,其中bd09ll能无偏差地显示在百度地图上。

后缀ll=经纬度球面坐标,mc=墨卡托平面坐标。当定位SDK中输入gcj02时,默认为经纬度坐标,输入bd09时,默认为墨卡托平面坐标。

  • 坐标体系是否遵循国家对地理信息保密要求?

百度对外接口的坐标系,都是经过国家测绘局加密处理,符合国家测绘局对地理信息保密要求。

  • 百度采用何种坐标体系?

百度地图api中采用两种坐标体系,经纬度坐标系和墨卡托投影坐标系。前者单位是度,后者单位是米,具体定义可以参见百科词条解释: http://baike.baidu.com/view/61394.htmhttp://baike.baidu.com/view/301981.htm

  • 百度坐标为何有偏移?

国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。百度对外接口的坐标系并不是GPS采集的真实经纬度,需要通过坐标转换接口进行转换。

  • 如何从其他体系的坐标迁移到百度坐标?

坐标转换接口非公开,请发送邮件申请

百度地图定位SDK和百度地图API移动版有什么区别?

百度地图定位SDK是专业的定位工具,采用WIFI、基站、GPS混合定位,返回百度坐标,并能正确地显示在百度坐标系的地图上。误差不超过50米。百度地图定位SDK适用于安卓和塞班系统,IOS请使用苹果自带的定位系统。

百度地图API移动版,是地图API在安卓和IOS上的地图接口程序,有兴趣点查询、公交驾车、添加覆盖物等功能。

如果单用定位功能的话,定位SDK更省资源。

百度地图定位SDK的精度如何?

基站精度为平均200米左右,视运营商基站覆盖范围而定。WIFI精度为20米左右。GPS精度最高,为10米左右(取决于芯片)。在户外,先开启GPS再进行定位,结果较准。但GPS比较费电,且在室内不可用。

另外,&addr=detail 想要获取完整地址(详细到门牌号),或者&addr=rough 想要获得到城市一个级别的地址(比如返回中国北京北京);

百度地图定位SDK的定位策略是什么?

默认首先使用GPS定位,然后是WIFI定位,最后基站定位。并且,百度地图定位SDK会根据环境自动调整定位策略。

为何我的程序无法定位成功?

1、您需要确保程序编译通过。如果对自己写的代码有疑问,可以下载官方高级示例,查看标准源代码。

2、请确保网络通畅,无论是连接wifi还是使用2G/3G信号。

3、定位SDK的调用必须在主线程中。

4、必须在定位SDK启动前设定好参数,例如是否使用GPS,扫描时间间隔设置等。我们强烈建议您设置自己的prodName,并保管好,这样方便我们为您提供更好的定位服务。

5、定位SDK start之后立即执行,这种情况下很难定位成功,因为定位SDK刚开始启动还没有获取到定位信息。这时getlocation一般为null。如果是要获取位置成功,可以在listerner中添加一个判断如果strData为空,则再发起一次定位。

6、定位覆盖率大概在98%。就是说有2%可能服务器没有数据,所以定位会失败。只需要走到别的地方,或者多试几次即可成功定位。

7、请使用真机。在虚拟机上无法进行定位测试。

我能查到wifi的mac值麽?

百度地图定位SDK已将全部定位数据封装。定位成功后,仅返回经纬度和地址描述。方便开发者理解,同时也保护个人隐私。

如何定位更省电?

1、开启API并获取到位置信息后,就手动stop()。

2、根据需要选择后台服务和及时扫描。setServiceMode为设置服务模式。Background为后台服务模式,后台每隔设定的时间扫描一次定位依据信息,判定位置是否改变,如果改变,生成定位依据加密串。在此模式下,用户可以调用getLocation来根据当前的定位加密串从服务器获取定位依据。也可以实现并注册一个接口LocationChangedListener,当locationChanged的时候,被调用。Immediat为即时扫描服务。后台不扫描。当用户想获取当前位置时,需要实现并注册一个接口ReceiveListener,然后调用startLocating函数,会异步的发起wifi扫描。当有结果时,定位SDK会调用接口函数。

3、在大部分机器上,gps初次定位需要1分钟,有的甚至要两分钟才能定位。初次定位以后,再定位会快很多。按时控制GPS的问题,您可以在自己的程序中设定。不过,目前版本中开启和关闭gps需要在start之前设置。

位置变化时,如何重新定位?

定位sdk提供2种定位模式,定时定位和app主动请求定位。 setScanSpan < 1000 则为 app主动请求定位; setScanSpan>=1000,则为定时定位模式(setScanSpan的值就是定时定位的时间间隔)) 定时定位模式中,定位sdk会按照app设定的时间定位进行位置更新,定时回调定位结果。此种定位模式适用于希望获得连续定位结果的情况。 对于单次定位类应用,或者偶尔需要一下位置信息的app,可采用app主动请求定位这种模式。

什么是GPS定位、基站定位和Wi-Fi定位?

1、GPS定位:根据设备GPS芯片和GPS卫星实现定位,GPS定位在室内是不可以使用的。GPS定位精度和芯片本身以及实际使用环境有关,一般情况下,GPS定位精度在10m左右。

2、基站定位:根据设备获取的基站信息实现定位,基站定位精度一般不受使用环境影响,主要和基站的覆盖半径有关。百度的基站定位服务精度目前在200m左右。

3、Wi-Fi定位:根据设备获取的Wi-Fi的信息进行定位,Wi-Fi定位精度一般不受使用环境影响,主要和Wi-Fi半径,密度有关。百度的Wi-Fi定位精度目前在20m左右。

三种定位模(高精度模式,低功耗模式,仅用设备模式)的定位策略分别是怎样的?

1、高精度模式定位策略:这种定位模式下,会同时使用网络定位和GPS定位,优先返回最高精度的定位结果;

2、低功耗模式定位策略:该定位模式下,不会使用GPS,只会使用网络定位(Wi-Fi和基站定位);

3、仅用设备模式定位策略:这种定位模式下,不需要连接网络,只使用GPS进行定位,这种模式下不支持室内环境的定位。