com.tencent.map.geolocation
类 TencentLocationManager

java.lang.Object
  继承者 com.tencent.map.geolocation.TencentLocationManager

public final class TencentLocationManager
extends java.lang.Object

用于访问腾讯定位服务的类, 腾讯定位服务可周期性向客户端提供位置更新.

注意, 使用腾讯定位服务前, 应确保:

作者:
kingcmchen@tencent.com

字段摘要
static java.lang.String BUILD
          已过时。 getBuild()
static int COORDINATE_TYPE_GCJ02
          坐标系标识, 国测局坐标(火星坐标).
static int COORDINATE_TYPE_WGS84
          坐标系标识, WGS84坐标(GPS坐标, 地球坐标).
static java.lang.String VERSION
          已过时。 getVersion()
 
方法摘要
 void feedback(java.lang.String content, java.lang.String phoneNum, java.lang.Object... params)
          发送用户反馈.
 java.lang.String getBuild()
           
 int getCoordinateType()
          获取当前使用的坐标系.
static TencentLocationManager getInstance(Context context)
          获取腾讯定位服务实例.
 java.lang.String getKey()
          获取已设置的key, 未设置时返回 "".
 TencentLocation getLastKnownLocation()
          返回最近一次的位置, 可能为 null.
 java.lang.String getVersion()
           
 void removeUpdates(TencentLocationListener listener)
          移除位置监听器并停止定位.
 int requestLocationUpdates(TencentLocationRequest request, TencentLocationListener listener)
          请求定位, 位置更新将通过 listener 回调通知.
 int requestLocationUpdates(TencentLocationRequest request, TencentLocationListener listener, Looper looper)
          请求(在与 looper 关联的线程中)定位, 位置更新将通过 listener 回调通知.
 void setCoordinateType(int coordinateType)
          设置坐标系.
 void setKey(java.lang.String key)
           
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

BUILD

public static final java.lang.String BUILD
已过时。 getBuild()
当前SDK的build号.

另请参见:
常量字段值

VERSION

public static final java.lang.String VERSION
已过时。 getVersion()
当前SDK的版本号.

另请参见:
常量字段值

COORDINATE_TYPE_GCJ02

public static final int COORDINATE_TYPE_GCJ02
坐标系标识, 国测局坐标(火星坐标).

另请参见:
常量字段值

COORDINATE_TYPE_WGS84

public static final int COORDINATE_TYPE_WGS84
坐标系标识, WGS84坐标(GPS坐标, 地球坐标).

另请参见:
常量字段值
方法详细信息

getInstance

public static TencentLocationManager getInstance(Context context)
获取腾讯定位服务实例.

参数:
context - Activity, Service, ApplicationContext 等各种 Context
抛出:
java.lang.NullPointerException - context 为 null
java.lang.IllegalArgumentException - manifest 中没有配置 key

setCoordinateType

public void setCoordinateType(int coordinateType)
设置坐标系. 缺省的坐标为 GCJ02, 通常*不应*调整.

参数:
coordinateType - 合法的坐标系只包括 COORDINATE_TYPE_GCJ02COORDINATE_TYPE_WGS84
抛出:
java.lang.IllegalArgumentException - 非法的的坐标类型
java.lang.IllegalStateException - 未取消位置监听器(定位仍在进行)的情况下调用本方法

getCoordinateType

public int getCoordinateType()
获取当前使用的坐标系.


requestLocationUpdates

public int requestLocationUpdates(TencentLocationRequest request,
                                  TencentLocationListener listener)
请求定位, 位置更新将通过 listener 回调通知.

强烈建议在主线程中调用本方法, 定位完成后(无论定位成功或失败)都应尽快移除 listener, 否则可能不必要地消耗较多电量.

参数:
request - 定位请求
listener - 位置监听器
返回:
0-成功注册监听器, 1-设备缺少使用腾讯定位服务需要的基本条件, 2-manifest 中配置的 key 不正确, 3-自动加载libtencentloc.so失败
抛出:
java.lang.NullPointerException - request 或 listener 为 null
另请参见:
TencentLocationListener}, #removeUpdates(TencentLocationListener)}

requestLocationUpdates

public int requestLocationUpdates(TencentLocationRequest request,
                                  TencentLocationListener listener,
                                  Looper looper)
请求(在与 looper 关联的线程中)定位, 位置更新将通过 listener 回调通知.

强烈建议在主线程中调用本方法, 定位完成后(无论定位成功或失败)都应尽快移除 listener, 否则可能不必要地消耗较多电量.

注意: 由于回调方法在新线程中调用, 回调方法中*不应*执行某些必须在主线程中完成的操作, 比如更新UI.

参数:
request - 定位请求
listener - 位置监听器
looper - looper
返回:
0-成功注册监听器, 1-设备缺少使用腾讯定位服务需要的基本条件, 2-manifest 中配置的 key 不正确, 3-自动加载libtencentloc.so失败
抛出:
java.lang.NullPointerException - request, listener 或者 looper 为 null
另请参见:
TencentLocationListener}

getLastKnownLocation

public TencentLocation getLastKnownLocation()
返回最近一次的位置, 可能为 null.


removeUpdates

public void removeUpdates(TencentLocationListener listener)
移除位置监听器并停止定位.

定位完成后应尽快通过本方法移除 listener 否则可能消耗较多电量.

参数:
listener - 位置监听器

getBuild

public java.lang.String getBuild()

getVersion

public java.lang.String getVersion()

setKey

public void setKey(java.lang.String key)

getKey

public java.lang.String getKey()
获取已设置的key, 未设置时返回 "".

腾讯定位SDK通过以下两种方式设置key


feedback

public void feedback(java.lang.String content,
                     java.lang.String phoneNum,
                     java.lang.Object... params)
发送用户反馈.

参数:
content - 反馈内容
phoneNum - 用户手机号
params - 其他参数