类 GeoFenceClient
- java.lang.Object
-
- com.baidu.location.BDAbstractLocationListener
-
- com.baidu.geofence.GeoFenceClient
-
- 所有已实现的接口:
com.baidu.geofence.network.StatisticsCallCount.CallBack
,com.baidu.location.utils.LocalDebug
public class GeoFenceClient extends BDAbstractLocationListener implements com.baidu.geofence.network.StatisticsCallCount.CallBack, com.baidu.location.utils.LocalDebug
地理围栏客户端从以下版本开始:
8.2.0
-
-
字段概要
字段 修饰符和类型 字段 说明 static java.lang.String
BD09LL
百度经纬度坐标static java.lang.String
BD09MC
百度墨卡托米制坐标static java.lang.String
GCJ02
国测局坐标系static int
GEOFENCE_IN
触发围栏行为-进入围栏static int
GEOFENCE_IN_OUT
触发围栏行为-进入、离开围栏static int
GEOFENCE_IN_OUT_STAYED
包括全部触发围栏行为static int
GEOFENCE_IN_STAYED
触发围栏行为-进入围栏、停留在围栏内(在围栏内停留10分钟以上)static int
GEOFENCE_OUT
触发围栏行为-离开围栏static int
GEOFENCE_OUT_STAYED
触发围栏行为-离开围栏、停留在围栏内(在围栏内停留10分钟以上)static int
GEOFENCE_STAYED
触发围栏行为-停留在围栏内(在围栏内停留10分钟以上)static java.lang.String
WGS84
表示GPS获取的坐标
-
构造器概要
构造器 构造器 说明 GeoFenceClient(android.content.Context context)
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 void
addGeoFence(com.baidu.geofence.model.DPoint point, java.lang.String coorType, float radius, java.lang.String customId)
创建自定义围栏void
addGeoFence(java.lang.String keyword, java.lang.String customId)
创建行政区划围栏void
addGeoFence(java.lang.String keyword, java.lang.String poiType, com.baidu.geofence.model.DPoint point, java.lang.String coorType, float aroundRadius, int size, java.lang.String customId)
创建百度POI地理围栏void
addGeoFence(java.lang.String keyword, java.lang.String poiType, java.lang.String city, int size, java.lang.String customId)
创建百度POI地理围栏void
addGeoFence(java.util.ArrayList<com.baidu.geofence.model.DPoint> points, java.lang.String coorType, java.lang.String customId)
创建自定义围栏void
clear()
void
createPendingIntent(java.lang.String action)
java.util.List<GeoFence>
getAllGeoFence()
获取所有已经创建的地理围栏static android.os.Handler
getHandlerInstance()
void
isHighAccuracyLoc(boolean isHigh)
是否在即将触发侦听行为时设置定位模式为高精度定位模式, 以便及时触发侦听行为boolean
isPause()
地理围栏是否已经暂停void
onReceiveLocation(BDLocation location)
定位请求回调函数void
pauseGeoFence()
暂停地理围栏void
removeGeoFence()
移除所有地理围栏boolean
removeGeoFence(GeoFence geoFence)
移除指定的geofencevoid
resumeGeoFence()
恢复地理围栏void
setActivateAction(int action)
设置当前创建的围栏的触发行为void
setGeoFenceAble(java.lang.String fenceId, boolean able)
设置围栏是否生效void
setGeoFenceListener(GeoFenceListener geoFenceListener)
设置地理围栏的回调void
setStayTime(int interval)
当设置了在围栏内停留的侦听行为,可以通过这个方法设置停留时长,单位秒,默认停留时长为10分钟void
setTriggerCount(int in, int out, int stay)
设置进入围栏、离开围栏、在围栏内停留三种侦听行为的触发次数-
从类继承的方法 com.baidu.location.BDAbstractLocationListener
onConnectHotSpotMessage, onLocDiagnosticMessage, onReceiveLocString, onReceiveVdrLocation
-
-
-
-
字段详细资料
-
GEOFENCE_IN
public static final int GEOFENCE_IN
触发围栏行为-进入围栏- 另请参阅:
- 常量字段值
-
GEOFENCE_OUT
public static final int GEOFENCE_OUT
触发围栏行为-离开围栏- 另请参阅:
- 常量字段值
-
GEOFENCE_STAYED
public static final int GEOFENCE_STAYED
触发围栏行为-停留在围栏内(在围栏内停留10分钟以上)- 另请参阅:
- 常量字段值
-
GEOFENCE_IN_OUT
public static final int GEOFENCE_IN_OUT
触发围栏行为-进入、离开围栏- 另请参阅:
- 常量字段值
-
GEOFENCE_IN_STAYED
public static final int GEOFENCE_IN_STAYED
触发围栏行为-进入围栏、停留在围栏内(在围栏内停留10分钟以上)- 另请参阅:
- 常量字段值
-
GEOFENCE_OUT_STAYED
public static final int GEOFENCE_OUT_STAYED
触发围栏行为-离开围栏、停留在围栏内(在围栏内停留10分钟以上)- 另请参阅:
- 常量字段值
-
GEOFENCE_IN_OUT_STAYED
public static final int GEOFENCE_IN_OUT_STAYED
包括全部触发围栏行为- 另请参阅:
- 常量字段值
-
GCJ02
public static final java.lang.String GCJ02
国测局坐标系- 另请参阅:
- 常量字段值
-
WGS84
public static final java.lang.String WGS84
表示GPS获取的坐标- 另请参阅:
- 常量字段值
-
BD09LL
public static final java.lang.String BD09LL
百度经纬度坐标- 另请参阅:
- 常量字段值
-
BD09MC
public static final java.lang.String BD09MC
百度墨卡托米制坐标- 另请参阅:
- 常量字段值
-
-
方法详细资料
-
getHandlerInstance
public static android.os.Handler getHandlerInstance()
-
isHighAccuracyLoc
public void isHighAccuracyLoc(boolean isHigh)
是否在即将触发侦听行为时设置定位模式为高精度定位模式, 以便及时触发侦听行为- 参数:
isHigh
- true:允许 false:不允许
-
addGeoFence
public void addGeoFence(com.baidu.geofence.model.DPoint point, java.lang.String coorType, float radius, java.lang.String customId)
创建自定义围栏圆形围栏
- 参数:
point
- - 围栏中心点坐标coorType
- - 围栏中心点坐标系类型radius
- - 围栏半径customId
- - 自定义的围栏标识
-
addGeoFence
public void addGeoFence(java.util.ArrayList<com.baidu.geofence.model.DPoint> points, java.lang.String coorType, java.lang.String customId)
创建自定义围栏多边形围栏
- 参数:
points
- - 多边形的边界点, 必须大于2个点coorType
- - 多边形的边界点坐标系类型customId
- - 自定义的围栏标识
-
addGeoFence
public void addGeoFence(java.lang.String keyword, java.lang.String poiType, com.baidu.geofence.model.DPoint point, java.lang.String coorType, float aroundRadius, int size, java.lang.String customId)
创建百度POI地理围栏根据周边创建围栏
注意:通过此方法创建的围栏半径全部为200米,暂时不支持自定义围栏半径
- 参数:
keyword
- - 关键字, 例如:麦当劳poiType
- - poi类型,例如:餐饮point
- - 中心点坐标coorType
- - 中心点坐标系类型aroundRadius
- - 周边半径,取值范围[1-50000]size
- - 最多创建的围栏数目, 最大25个customId
- - 自定义的围栏标识
-
addGeoFence
public void addGeoFence(java.lang.String keyword, java.lang.String poiType, java.lang.String city, int size, java.lang.String customId)
创建百度POI地理围栏根据关键字创建围栏
注意:通过此方法创建的围栏半径全部为1000米,暂时不支持自定义围栏半径
- 参数:
keyword
- - POI关键字, 例如:百度大厦poiType
- - POI类型,例如:写字楼city
- - POI所在的城市名称, 例如:北京size
- - 最大创建的围栏数目,取值范围[1-25]customId
- - 自定义的围栏标识
-
addGeoFence
public void addGeoFence(java.lang.String keyword, java.lang.String customId)
创建行政区划围栏- 参数:
keyword
- - 关键字customId
- - 自定义的围栏标识
-
removeGeoFence
public void removeGeoFence()
移除所有地理围栏
-
removeGeoFence
public boolean removeGeoFence(GeoFence geoFence)
移除指定的geofence当要移除所有围栏时可以使用GeoFenceClient.removeGeoFence()方法 当要销毁GeoFneceClient时,需要调用一次 GeoFenceClient.removeGeoFence()方法,确保所有围栏已移除
- 参数:
geoFence
- - 要移除的geofence 返回: 是否移除成功
-
getAllGeoFence
public java.util.List<GeoFence> getAllGeoFence()
获取所有已经创建的地理围栏返回:
所有已经创建的地理围栏
-
setActivateAction
public void setActivateAction(int action)
设置当前创建的围栏的触发行为
-
setStayTime
public void setStayTime(int interval)
当设置了在围栏内停留的侦听行为,可以通过这个方法设置停留时长,单位秒,默认停留时长为10分钟- 参数:
interval
- ,单位秒
-
setTriggerCount
public void setTriggerCount(int in, int out, int stay)
设置进入围栏、离开围栏、在围栏内停留三种侦听行为的触发次数- 参数:
in
- 进入围栏的触发次数,类型为int,必须是>=0out
- 离开围栏的触发次数,类型为int,必须是>=0stay
- 在围栏内停留的触发次数,类型为int,必须是>=0
-
setGeoFenceListener
public void setGeoFenceListener(GeoFenceListener geoFenceListener)
设置地理围栏的回调
-
setGeoFenceAble
public void setGeoFenceAble(java.lang.String fenceId, boolean able)
设置围栏是否生效- 参数:
fenceId
- - 需要改变的地理围栏的fenceIdable
- - 是否生效,true:生效;false:不生效, 默认:true
-
pauseGeoFence
public void pauseGeoFence()
暂停地理围栏暂停地理围栏的监听、同时地理围栏内部的定位也会停止
注意:通过setGeoFenceAble接口设置为false的围栏不会重新生效
-
resumeGeoFence
public void resumeGeoFence()
恢复地理围栏恢复地理围栏的监听、同时地理围栏内部的定位也会重新开始定位
-
isPause
public boolean isPause()
地理围栏是否已经暂停返回:
地理围栏是否处于暂停状态
-
createPendingIntent
public void createPendingIntent(java.lang.String action)
-
onReceiveLocation
public void onReceiveLocation(BDLocation location)
从类复制的说明:BDAbstractLocationListener
定位请求回调函数- 指定者:
onReceiveLocation
在类中BDAbstractLocationListener
- 参数:
location
- 定位结果
-
clear
public void clear()
- 指定者:
clear
在接口中com.baidu.geofence.network.StatisticsCallCount.CallBack
-
-