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(java.util.ArrayList<com.baidu.geofence.model.DPoint> points,
           java.lang.String coorType,
           java.lang.String customId)创建自定义围栏
 
 多边形围栏 | 
| 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地理围栏
 
 根据周边创建围栏
 
 注意:通过此方法创建的围栏半径全部为200米,暂时不支持自定义围栏半径 | 
| void | addGeoFence(java.lang.String keyword,
           java.lang.String poiType,
           java.lang.String city,
           int size,
           java.lang.String customId)创建百度POI地理围栏
 
 根据关键字创建围栏
 
 注意:通过此方法创建的围栏半径全部为1000米,暂时不支持自定义围栏半径 | 
| 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()暂停地理围栏
 
 暂停地理围栏的监听、同时地理围栏内部的定位也会停止
 
 注意:通过setGeoFenceAble接口设置为false的围栏不会重新生效 | 
| void | removeGeoFence()移除所有地理围栏 | 
| boolean | removeGeoFence(GeoFence geoFence)移除指定的geofence
 
 当要移除所有围栏时可以使用GeoFenceClient.removeGeoFence()方法 当要销毁GeoFneceClient时,需要调用一次 GeoFenceClient.removeGeoFence()方法,确保所有围栏已移除 | 
| void | 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)设置进入围栏、离开围栏、在围栏内停留三种侦听行为的触发次数 | 
onConnectHotSpotMessage, onLocDiagnosticMessage, onReceiveVdrLocationpublic static final int GEOFENCE_IN
public static final int GEOFENCE_OUT
public static final int GEOFENCE_STAYED
public static final int GEOFENCE_IN_OUT
public static final int GEOFENCE_IN_STAYED
public static final int GEOFENCE_OUT_STAYED
public static final int GEOFENCE_IN_OUT_STAYED
public static final java.lang.String GCJ02
public static final java.lang.String WGS84
public static final java.lang.String BD09LL
public static final java.lang.String BD09MC
public static android.os.Handler getHandlerInstance()
public void isHighAccuracyLoc(boolean isHigh)
isHigh - true:允许 false:不允许public void addGeoFence(com.baidu.geofence.model.DPoint point,
                        java.lang.String coorType,
                        float radius,
                        java.lang.String customId)
圆形围栏
point - - 围栏中心点坐标coorType - - 围栏中心点坐标系类型radius - - 围栏半径customId - - 自定义的围栏标识public void addGeoFence(java.util.ArrayList<com.baidu.geofence.model.DPoint> points,
                        java.lang.String coorType,
                        java.lang.String customId)
多边形围栏
points - - 多边形的边界点, 必须大于2个点coorType - - 多边形的边界点坐标系类型customId - - 自定义的围栏标识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)
根据周边创建围栏
注意:通过此方法创建的围栏半径全部为200米,暂时不支持自定义围栏半径
keyword - - 关键字, 例如:麦当劳poiType - - poi类型,例如:餐饮point - - 中心点坐标coorType - - 中心点坐标系类型aroundRadius - - 周边半径,取值范围[1-50000]size - - 最多创建的围栏数目, 最大25个customId - - 自定义的围栏标识public void addGeoFence(java.lang.String keyword,
                        java.lang.String poiType,
                        java.lang.String city,
                        int size,
                        java.lang.String customId)
根据关键字创建围栏
注意:通过此方法创建的围栏半径全部为1000米,暂时不支持自定义围栏半径
keyword - - POI关键字, 例如:百度大厦poiType - - POI类型,例如:写字楼city - - POI所在的城市名称, 例如:北京size - - 最大创建的围栏数目,取值范围[1-25]customId - - 自定义的围栏标识public void addGeoFence(java.lang.String keyword,
                        java.lang.String customId)
keyword - - 关键字customId - - 自定义的围栏标识public void removeGeoFence()
public boolean removeGeoFence(GeoFence geoFence)
当要移除所有围栏时可以使用GeoFenceClient.removeGeoFence()方法 当要销毁GeoFneceClient时,需要调用一次 GeoFenceClient.removeGeoFence()方法,确保所有围栏已移除
geoFence - - 要移除的geofence
                 返回:
                 是否移除成功public java.util.List<GeoFence> getAllGeoFence()
返回:
所有已经创建的地理围栏
public void setActivateAction(int action)
public void setStayTime(int interval)
interval,单位秒 - public void setTriggerCount(int in,
                            int out,
                            int stay)
in - 进入围栏的触发次数,类型为int,必须是>=0out - 离开围栏的触发次数,类型为int,必须是>=0stay - 在围栏内停留的触发次数,类型为int,必须是>=0public void setGeoFenceListener(GeoFenceListener geoFenceListener)
public void setGeoFenceAble(java.lang.String fenceId,
                            boolean able)
fenceId - - 需要改变的地理围栏的fenceIdable - - 是否生效,true:生效;false:不生效, 默认:truepublic void pauseGeoFence()
暂停地理围栏的监听、同时地理围栏内部的定位也会停止
注意:通过setGeoFenceAble接口设置为false的围栏不会重新生效
public void resumeGeoFence()
恢复地理围栏的监听、同时地理围栏内部的定位也会重新开始定位
public boolean isPause()
返回:
地理围栏是否处于暂停状态
public void createPendingIntent(java.lang.String action)
public void onReceiveLocation(BDLocation location)
BDAbstractLocationListeneronReceiveLocation 在类中 BDAbstractLocationListenerlocation - 定位结果public void clear()
clear 在接口中 com.baidu.geofence.network.StatisticsCallCount.CallBack