类 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获取的坐标
      • 从接口继承的字段 com.baidu.location.utils.LocalDebug

        Debug
    • 构造器概要

      构造器 
      构造器 说明
      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)
      移除指定的geofence
      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)
      设置进入围栏、离开围栏、在围栏内停留三种侦听行为的触发次数
      • 从类继承的方法 java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • 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
        百度墨卡托米制坐标
        另请参阅:
        常量字段值
    • 构造器详细资料

      • GeoFenceClient

        public GeoFenceClient​(android.content.Context context)
    • 方法详细资料

      • 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,必须是>=0
        out - 离开围栏的触发次数,类型为int,必须是>=0
        stay - 在围栏内停留的触发次数,类型为int,必须是>=0
      • setGeoFenceListener

        public void setGeoFenceListener​(GeoFenceListener geoFenceListener)
        设置地理围栏的回调
      • setGeoFenceAble

        public void setGeoFenceAble​(java.lang.String fenceId,
                                    boolean able)
        设置围栏是否生效
        参数:
        fenceId - - 需要改变的地理围栏的fenceId
        able - - 是否生效,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)
      • clear

        public void clear()
        指定者:
        clear 在接口中 com.baidu.geofence.network.StatisticsCallCount.CallBack