public final class GpsTracker
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
class |
GpsTracker.GPSEvent |
static interface |
GpsTracker.GPSEventHandler |
class |
GpsTracker.SwitchChoice |
限定符和类型 | 方法和说明 |
---|---|
void |
cleanup()
清理GPS资源
|
void |
enableGps(boolean enable)
开启/关闭GPS引擎
|
void |
enableGpsDebugMode(boolean enable)
启用/不启用gpsDebug模式
|
void |
enableSpeedZeroPolicy(boolean enable)
GPS速度为零时,是否交给引擎处理
|
MapbarGpsInfo |
getGpsInfo()
获取引擎端返回的GPS Info
|
static GpsTracker |
getInstance()
获取单例类的实例
|
int |
getSwitchChoice()
获取当前切路选择
|
void |
init(android.location.LocationManager locationManager,
boolean useJNaviCoreImp,
boolean isDebugMode)
初始化
GpsTracker |
boolean |
isEnableGpsDebugMode()
是否启动了gpsDebug模式
|
boolean |
isGpsEnabled()
GPS引擎是否开启
|
boolean |
isGpsProviderEnabled()
判断当前设备的GPS模块是否已经开启
|
boolean |
isSpeedZeroPolicyEnabled()
判断当前是否开启引擎处理GPS速度为零的策略
|
boolean |
isUsingExperienceAccuracy()
是否使用经验值替代GPS设备给出的精度值,默认为使用设备给出的经验值,即,返回false
|
void |
onLocationChanged(android.location.Location location)
当前地理坐标位置发生变化时,通过此方法通知引擎
此方法应当在初始化 GpsTracker 使用非JNaviCore引擎GPS实现时调用,即,
init(LocationManager, boolean, boolean)
第二个参数传false。 |
void |
onSatelliteStatusChanged(java.util.ArrayList<MapbarGpsSatellite> satellites)
定位卫星状态变化发生变化时,通过此方法通知引擎。
|
void |
onSatelliteStatusChanged(java.lang.Iterable<android.location.GpsSatellite> satellites)
定位卫星状态变化发生变化时,通过此方法通知引擎
一般在 GpsStatus.Listener#onGpsStatusChanged(int) 的事件
GpsStatus.GPS_EVENT_SATELLITE_STATUS 中,获取卫星状态信息,然后传给引擎。 |
void |
registerGpsTrackerListener(GpsTracker.GPSEventHandler handler,
java.lang.Object data)
注册GPS事件回调函数,用来监听GPS相关信息
|
void |
setSignalLostDelay(int delay)
设置GPS丢星时,引擎播报丢星的延迟时间
默认:10000ms |
boolean |
setSwitchChoice(int choice)
手动切路(主辅路以及高架桥上桥下切换)
|
boolean |
startLogging(java.lang.String filename)
开始记录GPS轨迹
|
boolean |
stopLogging()
结束GPS log记录
|
void |
unregisterGpsTrackerListener()
移除GPS信号监听
|
void |
useExperienceAccuracy(boolean useExperienceAccuracy)
使用经验值替代GPS设备给出的精度值,默认为使用设备给出精度值
|
public static GpsTracker getInstance()
GpsTracker
的实例public void init(android.location.LocationManager locationManager, boolean useJNaviCoreImp, boolean isDebugMode) throws java.lang.Exception
GpsTracker
locationManager
- 系统提供的定位管理系统useJNaviCoreImp
- 是否使用JNaviCore内部实现的GPS定位。引擎内部是允许客户端控制定位逻辑的,并提供了相应的控制接口isDebugMode
- 是否使用调试模式打开GPSjava.lang.Exception
cleanup()
init(LocationManager, boolean, boolean)
,导航引擎内部会初始化GpsTracker
public void cleanup()
public boolean startLogging(java.lang.String filename)
filename
- 记录GPS轨迹的文件路径public boolean stopLogging()
public boolean setSwitchChoice(int choice)
choice
- 切路选择,GpsTracker.SwitchChoice
public int getSwitchChoice()
GpsTracker.SwitchChoice
未初始化或者当前无切路选择返回
SwitchChoice.none
public void registerGpsTrackerListener(GpsTracker.GPSEventHandler handler, java.lang.Object data)
handler
- data
- public void unregisterGpsTrackerListener()
public boolean isGpsProviderEnabled()
public void onLocationChanged(android.location.Location location)
GpsTracker
使用非JNaviCore引擎GPS实现时调用,即,
init(LocationManager, boolean, boolean)
第二个参数传false。
此时GPS坐标系采用的是84坐标系,其他情况下采用的是02坐标系location
- 变化后的地理坐标位置public void onSatelliteStatusChanged(java.lang.Iterable<android.location.GpsSatellite> satellites)
GpsStatus.Listener#onGpsStatusChanged(int)
的事件
GpsStatus.GPS_EVENT_SATELLITE_STATUS
中,获取卫星状态信息,然后传给引擎。mLocationManager.addGpsStatusListener(new GpsStatus.Listener() { @Override public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_SATELLITE_STATUS: GpsStatus status = mLocationManager.getGpsStatus(null); GpsTracker.getInstance().onSatelliteStatusChanged(status.getSatellites()); break; default: break; } } });
satellites
- 卫星信息GpsTracker
使用非JNaviCore引擎GPS实现时调用,即,
init(LocationManager, boolean, boolean)
第二个参数传false。public void onSatelliteStatusChanged(java.util.ArrayList<MapbarGpsSatellite> satellites)
onSatelliteStatusChanged(Iterable)
一致,主要是为了支持无法通过android标准的API获取卫星信息的设置satellites
- 卫星信息onSatelliteStatusChanged(Iterable)
public void enableGps(boolean enable)
enable
- true表示开启,false表示关闭isGpsEnabled()
public boolean isGpsEnabled()
enableGps(boolean)
public void enableSpeedZeroPolicy(boolean enable)
enable
- true为开启引擎策略,false为不开启public boolean isSpeedZeroPolicyEnabled()
public void setSignalLostDelay(int delay)
delay
- 延迟时间,单位:msisGpsProviderEnabled()
public void useExperienceAccuracy(boolean useExperienceAccuracy)
useExperienceAccuracy
- true表示使用经验值,false表示使用GPS设备给出的值isUsingExperienceAccuracy()
public boolean isUsingExperienceAccuracy()
useExperienceAccuracy(boolean)
public MapbarGpsInfo getGpsInfo()
MapbarGpsInfo
public void enableGpsDebugMode(boolean enable)
enable
- true为启动,false为不启用public boolean isEnableGpsDebugMode()
©Mapbar Engine Team;All Rights Reserved