百度地图主动定位功能

来源:互联网 发布:淘宝女士丝巾 编辑:程序博客网 时间:2024/05/01 20:56

附:百度定位SDK原文链接:
http://developer.baidu.com/map/geosdk-android-developv4.1.htm#geand4.1.2

发现百度地图定位功能的Demo默认是定时自动定位,但是实际项目中经常只需要自动定位到当前城市就行,只需要定位一次,那么就需要调用requestLocation( )函数实现主动定位。好多不细心读百度给的SDK的人很容易忽略掉这一点而不知道如何切换两种模式,而这两种模式切换的关键点就在于设置定位频率的函数setScanSpan(int)的值,具体请看SDK的解释,如下:

设置定位时间间隔:
public void setScanSpan ( int ) //设置定时定位的时间间隔。单位ms
说明:

当所设的整数值大于等于1000(ms)时,定位SDK内部使用定时定位模式。调用requestLocation( )后,每隔设定的时间,定位SDK就会进行一次定位。如果定位SDK根据定位依据发现位置没有发生变化,就不会发起网络请求,返回上一次定位的结果;如果发现位置改变,就进行网络请求进行定位,得到新的定位结果。定时定位时,调用一次requestLocation,会定时监听到定位结果。
当不设此项,或者所设的整数值小于1000(ms)时,采用一次定位模式。每调用一次requestLocation( ),定位SDK会发起一次定位。请求定位与监听结果一一对应。
设定了定时定位后,可以热切换成一次定位,需要重新设置时间间隔小于1000(ms)即可。locationClient对象stop后,将不再进行定位。如果设定了定时定位模式后,多次调用requestLocation(),则是每隔一段时间进行一次定位,同时额外的定位请求也会进行定位,但频率不会超过1秒一次。

0 0