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_BEIDOU_ONLY` 卫星定位信号来源，仅北斗
    `static int` | `GNSS_SOURCE_GPS_FIRST` 卫星定位信号来源，系统GPS优先
    `static int` | `GNSS_SOURCE_RTK_FIRST` 卫星定位信号来源，RTK优先
    `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(毫秒).
    `long` | `getLocFirstCallTimeOut()`
    `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` | `isFirstLocationNeedAddress()` 获取首个定位点是否需要等待地址信息的配置。
    `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` | `setFirstLocationNeedAddress(boolean needAddress)` 设置首个定位点是否需要等待地址信息。
    `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` | `setLocFirstTimeOut(long time)` 首次定位回调超时时间，单位ms，默认15s
    `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` | `toBriefString()`
    `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

      卫星定位信号来源，北斗优先
      另请参阅:
        常量字段值

    - #### GNSS_SOURCE_RTK_FIRST

          public static final int GNSS_SOURCE_RTK_FIRST

      卫星定位信号来源，RTK优先
      另请参阅:
        常量字段值

    - #### GNSS_SOURCE_BEIDOU_ONLY

          public static final int GNSS_SOURCE_BEIDOU_ONLY

      卫星定位信号来源，仅北斗
      另请参阅:
        常量字段值

    - #### 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`, `GNSS_SOURCE_RTK_FIRST`, `GNSS_SOURCE_BEIDOU_ONLY`

    - #### 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 为非法值

    - #### setLocFirstTimeOut

          public TencentLocationRequest setLocFirstTimeOut(long time)

      首次定位回调超时时间，单位ms，默认15s
      抛出:
        `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()

    - #### getLocFirstCallTimeOut

          public long getLocFirstCallTimeOut()

    - #### setEnableAntiMock

          public TencentLocationRequest setEnableAntiMock(boolean enableAntiMock)

      参数:
        `enableAntiMock` - 是否允许开启定位反作弊检测功能

    - #### setFirstLocationNeedAddress

          public TencentLocationRequest setFirstLocationNeedAddress(boolean needAddress)

      设置首个定位点是否需要等待地址信息。

      设置后，连续定位的首个定位点和单次定位的定位点会等待地址信息到来后再回调。 此配置仅在 Request Level 不为 `REQUEST_LEVEL_GEO` 时生效。

      如果在 `setLocFirstTimeOut(long)` 设置的超时时间内仍未获取到地址信息， 则返回没有地址的的定位结果。

      参数:
        `needAddress` - 是否需要等待地址信息
      返回:
        当前 TencentLocationRequest 实例

    - #### isFirstLocationNeedAddress

          public boolean isFirstLocationNeedAddress()

      获取首个定位点是否需要等待地址信息的配置。
      返回:
        是否需要等待地址信息

    - #### toString

          public java.lang.String toString()

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

    - #### toBriefString

          public java.lang.String toBriefString()