### 百度类参考知识点详解 #### 一、LocationClient类 **功能**: 定位SDK的核心类,用于实现各种定位功能。 ##### 1. 构造类 - **public LocationClient(Context)**: 在主线程中创建`LocationClient`实例。需要传入一个`Context`对象作为参数。 ##### 2. 设置参数 - **public void setLocOption(LocationClientOption option)**: 配置定位SDK。此方法接受`LocationClientOption`类型的参数,用于设置定位相关的各种选项。例如是否使用GPS定位、定位频率等。 ##### 3. 注册监听函数 - **public void registerLocationListener(BDLocationListener listener)**: 注册定位监听器。此方法接受`BDLocationListener`类型的参数,用于监听定位结果。如果未注册监听器,则无法发起网络请求。 ##### 4. 注册位置提醒监听事件 - **public void registerNotify(BDNotifyListener mNotify)**: 注册位置提醒监听器,用于接收位置提醒事件。 ##### 5. 开启/关闭 - **public void start()**: 启动定位SDK。 - **public void stop()**: 关闭定位SDK。注意,即使停止了定位服务,之前设置的参数依然保留。 ##### 6. 发起定位 - **public int requestLocation()**: 发起定位请求。这是一个异步操作,立即返回结果,并不会引起程序阻塞。定位结果通过`BDLocationListener`的回调方法返回。可能的返回值包括: - `0`: 正常发起了定位。 - `1`: 服务尚未启动。 - `2`: 没有注册监听函数。 - `6`: 请求间隔过短,前后两次请求定位的时间间隔不能少于1000毫秒。 ##### 7. 请求离线定位 - **public int requestOfflineLocation()**: 发起离线定位请求。离线定位的结果将缓存在本地文件中,仅包含基站定位数据,因此定位精度较低且无地址信息。与`requestLocation()`一样,这也是一个异步操作。可能的返回值同上。 ##### 8. 取消监听函数 - **public void unRegisterLocationListener(BDLocationListener listener)**: 取消已注册的定位监听器。 ##### 9. 位置提醒相关函数 - **public void registerNotify(BDNotifyListener mNotify)**: 注册位置提醒监听器。 - **public void removeNotifyEvent(BDNotifyListener mNotify)**: 移除已注册的位置提醒监听器。 #### 二、LocationClientOption类 **功能**: 用于设置定位SDK的各种选项。 ##### 1. 设置是否启用缓存定位 - **public void disableCache(boolean enable)**: 设置是否启用缓存定位。参数`enable`为`true`时禁用缓存定位,`false`时启用缓存定位。 ##### 2. 设置打开GPS - **public void setOpenGps(boolean isOpen)**: 设置是否打开GPS。参数`isOpen`为`true`时尝试打开GPS进行定位,`false`则关闭GPS定位。 ##### 3. 设置是否需要地址信息 - **public void setAddress(String address)**: 设置是否需要地址信息。若设置为`true`,定位结果将包含地址信息;若为`false`,则不包含地址信息。 ##### 4. 设置坐标类型 - **public void setCoordType(CoordType type)**: 设置坐标类型。支持不同的坐标系统,如WGS84、GCJ02等。 ##### 5. 设置产品线名称 - **public void setProdName(String prodName)**: 设置产品线名称,用于标识使用定位服务的产品。 ##### 6. 设置定位时间间隔 - **public void setLocationMode(int mode)**: 设置定位模式。可以设置为高精度模式、节能模式等。 ##### 7. 设置优先级 - **public void setPriority(int priority)**: 设置优先级。例如优先使用GPS定位或网络定位。 ##### 8. 设置POI个数 - **public void setPoiNum(int num)**: 设置每个位置点周围的兴趣点(POI)数量。 ##### 9. 设置POI查询距离 - **public void setPoiDistance(int distance)**: 设置POI查询的距离范围。 ##### 10. 设置是否需要POI的电话地址等详细信息 - **public void setNeedAddressDetail(boolean need)**: 设置是否需要POI的详细信息,如电话号码、地址等。 ##### 11. 设置位置提醒接口 - **public void setNotifyListener(BDNotifyListener listener)**: 设置位置提醒监听器,用于接收位置提醒事件。 ##### 12. 设置是否启用缓存设定说明 - **public void setEnableCache(boolean enable)**: 设置是否启用缓存,与`disableCache`方法相对应。 #### 三、BDLocation类 **功能**: 包含了定位结果的具体信息。 ##### 1. 获取errorcode - **public int getErrorCode()**: 获取定位错误码。 ##### 2. 获取经纬度坐标 - **public double getLatitude()**: 获取纬度。 - **public double getLongitude()**: 获取经度。 ##### 3. 获取定位精度 - **public float getRadius()**: 获取定位精度。 ##### 4. 获取文字描述的地址(反地理编码) - **public String getAddress()**: 获取定位点的文字描述地址。 ##### 5. 获取POI信息 - **public List<Poi> getPoiList()**: 获取定位点附近的POI列表。 #### 四、BDLocationListener接口类 **功能**: 用于处理定位结果的回调接口。 ##### 1. 获取定位结果 - **onReceiveLocation(BDLocation location)**: 当定位完成时,此方法会被调用。参数`location`包含了定位结果的所有信息。 #### 五、BDNotifyListener类 **功能**: 用于监听位置提醒事件。 ##### 1. 设定位置提醒点 - **public void onNotifyArrived(BDNotifyResult result)**: 当到达设定的位置提醒点时,此方法被调用。 ##### 2. 监听位置提醒事件 - **public void onNotifyExpire(BDNotifyResult result)**: 当位置提醒过期时,此方法被调用。 以上内容总结了百度类参考文档中关于定位SDK的重要知识点,包括核心类`LocationClient`及其配置类`LocationClientOption`,定位结果类`BDLocation`,以及监听器类`BDLocationListener`和`BDNotifyListener`。这些知识点涵盖了从初始化定位服务到获取定位结果的整个流程,以及如何设置各种定位选项来满足不同场景下的需求。
剩余7页未读,继续阅读
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助