类 TencentLocationRequest


  • public final class TencentLocationRequest
    extends java.lang.Object
    定位请求, 客户端使用本类指定定位周期等参数.
    • 字段详细资料

      • REQUEST_LEVEL_GEO

        public static final int REQUEST_LEVEL_GEO
        定位结果信息级别: 0号定位接口, 仅包含经纬度坐标表示的地位置(经纬度).
        另请参阅:
        常量字段值
      • REQUEST_LEVEL_NAME

        public static final int REQUEST_LEVEL_NAME
        定位结果信息级别: 1号定位接口, 包含经纬度, 位置名称, 位置地址.
        另请参阅:
        常量字段值
      • REQUEST_LEVEL_ADMIN_AREA

        public static final int REQUEST_LEVEL_ADMIN_AREA
        定位结果信息级别: 3号定位接口, 包含经纬度, 行政区划,位置地址和位置名称.
        另请参阅:
        常量字段值
      • REQUEST_LEVEL_POI

        public static final int REQUEST_LEVEL_POI
        定位结果信息级别: 4号定位接口, 包含经纬度, 行政区划, 附近的POI.
        另请参阅:
        常量字段值
      • HIGH_ACCURACY_MODE

        public static final int HIGH_ACCURACY_MODE
        高精度定位模式,将同时使用网络定位和卫星定位,优先返回精度高的定位
        另请参阅:
        常量字段值
      • ONLY_NETWORK_MODE

        public static final int ONLY_NETWORK_MODE
        仅网络定位模式,将不启动gps定位,只使用网络定位,可以减少耗电量,但定位精度有所降低
        另请参阅:
        常量字段值
      • ONLY_GPS_MODE

        public static final int ONLY_GPS_MODE
        仅GPS定位模式,将只返回GPS定位结果,在室外可提升定位精度(约3~10米),GPS首次获取位置较慢且耗电较高 请求定位未获得GPS结果或GPS丢失后,如果超时时间内无GPS结果,则返回网络定位结果,超时时间为8s。 单次定位改设置不生效,请使用setGpsFirst进行设置
        另请参阅:
        常量字段值
      • GNSS_SOURCE_GPS_FIRST

        public static final int GNSS_SOURCE_GPS_FIRST
        卫星定位信号来源,系统GPS优先
        另请参阅:
        常量字段值
      • GNSS_SOURCE_BEIDOU_FIRST

        public static final int GNSS_SOURCE_BEIDOU_FIRST
        卫星定位信号来源,北斗优先
        另请参阅:
        常量字段值
      • ONLY_GPS_TIME_OUT

        public static final int ONLY_GPS_TIME_OUT
        仅gps定位超时时间 单位: ms
        另请参阅:
        常量字段值
    • 方法详细资料

      • copy

        public static void copy​(TencentLocationRequest to,
                                TencentLocationRequest from)
        复制定位请求.

        完成复制后, 目标请求 to 的各参数和源请求 from 相同.

        参数:
        to - 目标请求
        from - 源请求
      • create

        public static TencentLocationRequest create()
        创建一个缺省的定位请求.

        缺省定位请求各参数如下:

        • 定位周期(位置监听器回调周期): 5s
        • Request Level: REQUEST_LEVEL_ADMIN_AREA
        • 定位模式: 高精度定位模式
        • gps优先: 默认为非gps优先
        • gps优先等待时间: 默认等待5s
        • 缓存: 允许使用缓存
        • 设备方向: 不允许获取设备方向
        • QQ号: 空字符串
      • setInterval

        public TencentLocationRequest setInterval​(long millis)
        设置定位周期(位置监听器回调周期), 单位为 ms (毫秒).

        当定位周期大于0时, 不论是否有得到新的定位结果, 位置监听器都会按定位周期定时被回调; 当定位周期等于0时, 仅当有新的定位结果时, 位置监听器才会被回调(即, 回调时机存在不确定性). 如果需要周期性回调, 建议将 定位周期 设置为 5000-10000ms

        注意:

        • 不建议将 定位周期 设置为 1000ms 以下
        • 不保证(尤其不保证设备休眠情况下)定位周期的绝对精确, 客户端业务不应依赖这里的定位周期.
        参数:
        millis - 定位周期
        抛出:
        java.lang.IllegalArgumentException - 设置的定位周期为负
      • setRequestLevel

        public TencentLocationRequest setRequestLevel​(int requestLevel)
        设置定位的 request level.

        不同的 request level 得到的定位结果信息完整程度不同. 通常, 定位结果中所含信息越多消耗的流量也越多, 请选择合理的 request level 以节省流量.

        参数:
        requestLevel -
        抛出:
        java.lang.IllegalArgumentException - Request Level 为非法值
        另请参阅:
        REQUEST_LEVEL_GEO, REQUEST_LEVEL_NAME, REQUEST_LEVEL_ADMIN_AREA, REQUEST_LEVEL_POI
      • getGnssSource

        public int getGnssSource()
        返回定位的优先卫星定位信号来源.
      • setAllowGPS

        public TencentLocationRequest setAllowGPS​(boolean allowGPS)
        设置是否允许使用GPS进行定位,默认允许.

        如果允许使用GPS,在室外可提升定位精度(约3~10米),GPS首次获取位置较慢且耗电较高 改设置仅对高精度定位模式生效,其他模式遵循定位模式设置

        参数:
        allowGPS -
      • setAllowCache

        public TencentLocationRequest setAllowCache​(boolean allowCache)
        设置是否允许使用缓存.

        如果允许使用缓存, 用户移动范围较小的情况下可以有效减少网络请求, 节省电量和流量. 长时间连续定位时建议允许使用缓存, 单次定位时建议不使用缓存

        参数:
        allowCache -
      • setAllowDirection

        public TencentLocationRequest setAllowDirection​(boolean allowDirection)
        设置是否允许使用设备传感器获取方向.

        注意: 通过本方法获取的方向可用于指南针方向, 这个方向不同于GPS定位时得到的 bearing.

        参数:
        allowDirection -
      • setIndoorLocationMode

        public TencentLocationRequest setIndoorLocationMode​(boolean indoorLocationMode)
        设置启动室内定位
      • setQQ

        public TencentLocationRequest setQQ​(java.lang.String qq)
        设置 QQ 号.

        若您的应用能提供 QQ 号, 强烈建议提供 QQ 号, 有助于我们改进腾讯相关服务.

        参数:
        qq -
      • setSmallAppKey

        public TencentLocationRequest setSmallAppKey​(java.lang.String smallappkey)
        设置分渠道的key编码号,例如小程序里面区分业务.

        若您的应用能提供该次定位的场景标志, 强烈建议提供, 定位服务可根据key值,提供定位个性化服务.

        参数:
        smallappkey -
      • setLocMode

        public TencentLocationRequest setLocMode​(int locMode)
        设置定位模式

        不同定位模式代表不同定位来源策略,默认为高定位定位模式,同时使用网络定位和卫星定位

        参数:
        locMode -
        抛出:
        java.lang.IllegalArgumentException - locMode 为非法值
        另请参阅:
        HIGH_ACCURACY_MODE, ONLY_NETWORK_MODE, ONLY_GPS_MODE
      • setGpsFirst

        public TencentLocationRequest setGpsFirst​(boolean isGpsFirst)
        设置首次定位是否等待卫星定位结果,默认为false 当设置为true时,首次定位会等待卫星定位结果,默认等待时间为30s,超时将返回网络定位结果
      • setGpsFirstTimeOut

        public TencentLocationRequest setGpsFirstTimeOut​(int time)
        设置卫星定位优先时,等待卫星定位结果对的超时时间,单位: ms, 最多等待60s. 仅当定位模式为 HIGH_ACCURACY_MODE 生效
        抛出:
        java.lang.IllegalArgumentException - time 为非法值
      • getSmallAppKey

        public java.lang.String getSmallAppKey()
        返回小程序key.
      • getQQ

        public java.lang.String getQQ()
        返回QQ号.
      • setPhoneNumber

        public TencentLocationRequest setPhoneNumber​(java.lang.String phoneNumber)
        设置电话号.
      • getPhoneNumber

        public java.lang.String getPhoneNumber()
        返回电话号码
      • getInterval

        public long getInterval()
        返回定位周期(位置监听器回调周期), 单位为ms(毫秒).
      • getRequestLevel

        public int getRequestLevel()
        返回定位的request level.
      • isAllowCache

        public boolean isAllowCache()
        检查是否允许使用缓存.
      • isAllowGPS

        public boolean isAllowGPS()
        检查是否允许使用GPS.
      • isIndoorLocationMode

        public boolean isIndoorLocationMode()
        检查是否启动室内定位模式
      • isAllowDirection

        public boolean isAllowDirection()
        检查是否允许使用设备传感器获取方向
      • getExtras

        public android.os.Bundle getExtras()
        返回 Extra 信息.
      • isGpsFirst

        public boolean isGpsFirst()
        返回是否设置为第一个点返回卫星定位结果
      • getGpsFirstTimeOut

        public int getGpsFirstTimeOut()
        返回设置卫星定位优先时,等待卫星定位结果对的超时时间
      • toString

        public java.lang.String toString()
        覆盖:
        toString 在类中 java.lang.Object