程序包 com.tencent.map.geolocation

## 类 TencentLocationRequest

- java.lang.Object
- - com.tencent.map.geolocation.TencentLocationRequest

-     public final class TencentLocationRequest
      extends java.lang.Object

  定位请求, 客户端使用本类指定定位周期等参数.

- - ### 字段概要

    字段
    修饰符和类型 | 字段 | 说明
    --- | --- | ---
    `static int` | `GNSS_SOURCE_BEIDOU_FIRST` | 卫星定位信号来源，北斗优先
    `static int` | `GNSS_SOURCE_GPS_FIRST` | 卫星定位信号来源，系统GPS优先
    `static int` | `HIGH_ACCURACY_MODE` | 高精度定位模式，将同时使用网络定位和卫星定位，优先返回精度高的定位
    `static int` | `ONLY_GPS_MODE` | 仅GPS定位模式，将只返回GPS定位结果，在室外可提升定位精度（约3~10米），GPS首次获取位置较慢且耗电较高 请求定位未获得GPS结果或GPS丢失后，如果超时时间内无GPS结果，则返回网络定位结果，超时时间为8s。
    `static int` | `ONLY_GPS_TIME_OUT` | 仅gps定位超时时间 单位: ms
    `static int` | `ONLY_NETWORK_MODE` | 仅网络定位模式，将不启动gps定位，只使用网络定位，可以减少耗电量，但定位精度有所降低
    `static int` | `REQUEST_LEVEL_ADMIN_AREA` | 定位结果信息级别: 3号定位接口, 包含经纬度, 行政区划，位置地址和位置名称.
    `static int` | `REQUEST_LEVEL_GEO` | 定位结果信息级别: 0号定位接口, 仅包含经纬度坐标表示的地位置(经纬度).
    `static int` | `REQUEST_LEVEL_NAME` | 定位结果信息级别: 1号定位接口, 包含经纬度, 位置名称, 位置地址.
    `static int` | `REQUEST_LEVEL_POI` | 定位结果信息级别: 4号定位接口, 包含经纬度, 行政区划, 附近的POI.

  - ### 构造器概要

    构造器
    构造器 | 说明
    --- | ---
    `TencentLocationRequest​(TencentLocationRequest request)` |

  - ### 方法概要

    所有方法 静态方法 实例方法 具体方法
    修饰符和类型 | 方法 | 说明
    --- | --- | ---
    `static void` | `copy​(TencentLocationRequest to, TencentLocationRequest from)` | 复制定位请求.
    `static TencentLocationRequest` | `create()` | 创建一个缺省的定位请求.
    `android.os.Bundle` | `getExtras()` | 返回 Extra 信息.
    `int` | `getGnssSource()` | 返回定位的优先卫星定位信号来源.
    `int` | `getGpsFirstTimeOut()` | 返回设置卫星定位优先时，等待卫星定位结果对的超时时间
    `long` | `getInterval()` | 返回定位周期(位置监听器回调周期), 单位为ms(毫秒).
    `int` | `getLocMode()` | 返回定位模式
    `java.lang.String` | `getPhoneNumber()` | 返回电话号码
    `java.lang.String` | `getQQ()` | 返回QQ号.
    `int` | `getRequestLevel()` | 返回定位的request level.
    `java.lang.String` | `getSmallAppKey()` | 返回小程序key.
    `boolean` | `isAllowBLE()` | 检查是否允许使用蓝牙信息辅助定位.
    `boolean` | `isAllowCache()` | 检查是否允许使用缓存.
    `boolean` | `isAllowDirection()` | 检查是否允许使用设备传感器获取方向
    `boolean` | `isAllowGPS()` | 检查是否允许使用GPS.
    `boolean` | `isEnableAntiMock()` |
    `boolean` | `isGpsFirst()` | 返回是否设置为第一个点返回卫星定位结果
    `boolean` | `isIndoorLocationMode()` | 检查是否启动室内定位模式
    `TencentLocationRequest` | `setAllowBLE​(boolean allowBLE)` | 设置是否允许使用蓝牙信息辅助定位,默认允许.
    `TencentLocationRequest` | `setAllowCache​(boolean allowCache)` | 设置是否允许使用缓存.
    `TencentLocationRequest` | `setAllowDirection​(boolean allowDirection)` | 设置是否允许使用设备传感器获取方向.
    `TencentLocationRequest` | `setAllowGPS​(boolean allowGPS)` | 设置是否允许使用GPS进行定位,默认允许.
    `TencentLocationRequest` | `setEnableAntiMock​(boolean enableAntiMock)` | 是否允许开启定位反作弊检测功能
    `TencentLocationRequest` | `setGnssSource​(int gnssSource)` | 设置优先卫星定位信号来源
    `TencentLocationRequest` | `setGpsFirst​(boolean isGpsFirst)` | 设置首次定位是否等待卫星定位结果，默认为false 当设置为true时，首次定位会等待卫星定位结果，默认等待时间为30s，超时将返回网络定位结果
    `TencentLocationRequest` | `setGpsFirstTimeOut​(int time)` | 设置卫星定位优先时，等待卫星定位结果对的超时时间，单位: ms, 最多等待60s.
    `TencentLocationRequest` | `setIndoorLocationMode​(boolean indoorLocationMode)` | 设置启动室内定位
    `TencentLocationRequest` | `setInterval​(long millis)` | 设置定位周期(位置监听器回调周期), 单位为 ms (毫秒).
    `TencentLocationRequest` | `setLocMode​(int locMode)` | 设置定位模式
    `TencentLocationRequest` | `setPhoneNumber​(java.lang.String phoneNumber)` | 设置电话号.
    `TencentLocationRequest` | `setQQ​(java.lang.String qq)` | 设置 QQ 号.
    `TencentLocationRequest` | `setRequestLevel​(int requestLevel)` | 设置定位的 request level.
    `TencentLocationRequest` | `setSmallAppKey​(java.lang.String smallappkey)` | 设置分渠道的key编码号，例如小程序里面区分业务.
    `java.lang.String` | `toString()` |

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### 字段详细资料

    - #### 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
      另请参阅:
        常量字段值

  - ### 构造器详细资料

    - #### TencentLocationRequest

          public TencentLocationRequest​(TencentLocationRequest request)

  - ### 方法详细资料

    - #### 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`

    - #### setGnssSource

          public TencentLocationRequest setGnssSource​(int gnssSource)

      设置优先卫星定位信号来源

      改设置仅对连续定位生效

      参数:
        `gnssSource` -
      抛出:
        `java.lang.IllegalArgumentException` - Request Level 为非法值
      另请参阅:
        `GNSS_SOURCE_GPS_FIRST`, `GNSS_SOURCE_BEIDOU_FIRST`

    - #### getGnssSource

          public int getGnssSource()

      返回定位的优先卫星定位信号来源.

    - #### setAllowGPS

          public TencentLocationRequest setAllowGPS​(boolean allowGPS)

      设置是否允许使用GPS进行定位,默认允许.

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

      参数:
        `allowGPS` -

    - #### setAllowBLE

          public TencentLocationRequest setAllowBLE​(boolean allowBLE)

      设置是否允许使用蓝牙信息辅助定位,默认允许.
      参数:
        `allowBLE` -

    - #### 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.

    - #### isAllowBLE

          public boolean isAllowBLE()

      检查是否允许使用蓝牙信息辅助定位.

    - #### isIndoorLocationMode

          public boolean isIndoorLocationMode()

      检查是否启动室内定位模式

    - #### isAllowDirection

          public boolean isAllowDirection()

      检查是否允许使用设备传感器获取方向

    - #### getExtras

          public android.os.Bundle getExtras()

      返回 Extra 信息.

    - #### getLocMode

          public int getLocMode()

      返回定位模式
      另请参阅:
        `HIGH_ACCURACY_MODE`, `ONLY_NETWORK_MODE`, `ONLY_GPS_MODE`

    - #### isGpsFirst

          public boolean isGpsFirst()

      返回是否设置为第一个点返回卫星定位结果

    - #### getGpsFirstTimeOut

          public int getGpsFirstTimeOut()

      返回设置卫星定位优先时，等待卫星定位结果对的超时时间

    - #### isEnableAntiMock

          public boolean isEnableAntiMock()

    - #### setEnableAntiMock

          public TencentLocationRequest setEnableAntiMock​(boolean enableAntiMock)

      是否允许开启定位反作弊检测功能

    - #### toString

          public java.lang.String toString()

      覆盖:
        `toString` 在类中 `java.lang.Object`