全部产品
云市场
云游戏

使用 SDK

更新时间:2020-08-07 19:05:02

目前,在 APMobileLBS 模块中,提供了以下三个方法:

  • 定位:获取当前位置的经纬度信息。
  • 逆地理查询:已知经纬度,进行逆地理查询,获取对应的国家、省份、市、区县、乡镇等行政区划信息。
  • 定位+逆地理查询:获取经纬度,同时基于获取到的经纬度进行逆地理查询。
说明:LBS 目前暂不支持逆地理查询功能,您可调用高德接口进行逆地理查询。

API 说明

参见以下代码,了解 LBS 相关接口,通过注释获取接口和相关参数说明。

  1. /**
  2. * 定位,通过获取经纬度信息。
  3. *
  4. * @param requestBlock 定制 LBSLocationRequest 对象,设置参数的 block,参数通过设置的 property 来完成:
  5. * bizType 为业务场景标识;
  6. * cacheTimeInterval 为可接受之前多长时间之内的缓存数据,单位为秒;
  7. * desiredAccuracy 为期望精确度,单位为米;
  8. * timeOut 为发起主动定位后可接受的定位超时时长,单位为秒,默认值和最小值均为 2s;
  9. * @param locatingBlock 定位结果回调 block,回调参数如下:
  10. * success 表明定位调用是否成功;
  11. * location 为定位结果,经纬度已转换为国内的 GCJ02 坐标系坐标,可直接在地图上使用;
  12. * error 为错误信息;
  13. *
  14. * 例子:
  15. * [LBSLocationManager locationWithRequestBlock:^(LBSLocationRequest *request) {
  16. * request.bizType = NSStringFromClass([self class]);
  17. * request.cacheTimeInterval = APCoreLocationCacheAvaliableDefault;
  18. * } onFinishedLocating:^(BOOL success, CLLocation *location, NSError *error) {
  19. *
  20. * }];
  21. */
  22. + (void)locationWithRequestBlock:(APRequestBlock)requestBlock
  23. onFinishedLocating:(APCoreLocationBlock)locatingBlock;
  24. /**
  25. * 定位和逆地理,通过获取经纬度信息。
  26. *
  27. * @param requestBlock 定制 LBSLocationRequest 对象,设置参数的 block,参数通过设置的 property 来完成:
  28. * bizType 为业务场景标识;
  29. * cacheTimeInterval 为可接受之前多长时间之内的缓存数据,单位为秒;
  30. * desiredAccuracy 为期望精确度,单位为米;
  31. * timeOut 为发起主动定位后可接受的定位超时时长,单位为秒,默认值和最小值均为 2s;
  32. * reGeoLevel 为逆地理级别,除非必要否则不要选择带有 poi 的级别;
  33. * reGeoType(deprecated since10.0.2,请使用 reGeoLevel),默认为APCoreLocationReGeoTypeReverse
  34. * @param locatingBlock 定位结果回调 block,回调参数如下:
  35. * success 表明定位调用是否成功;
  36. * location 为定位结果,经纬度已转换为国内的 GCJ02 坐标系坐标,可直接在地图上使用;
  37. * error 为错误信息;
  38. * @param reversingGeocodeBlock 定位结果回调 block,回调参数如下:
  39. * success 表明逆地理调用是否成功;
  40. * location 为定位结果;
  41. * addressInfo 为逆地理结果;
  42. * error 为错误信息;
  43. *
  44. * 例子:
  45. * [LBSLocationManager locationWithRequestBlock:^(LBSLocationRequest *request) {
  46. * request.desiredAccuracy = kCLLocationAccuracyBest;
  47. * request.bizType = NSStringFromClass([self class]);
  48. * request.cacheTimeInterval = APCoreLocationCacheAvaliableDefault;
  49. * request.reGeoType = APCoreLocationReGeoTypeReverse;
  50. * request.reGeoLevel = APCoreLocationReGeoLevelCity;
  51. * } onFinishedLocating:^(BOOL success, CLLocation *location, NSError *error) {
  52. *
  53. * } onFinishedReversingGeocode:^(BOOL success, CLLocation *location, LBSAddressInfo *addressInfo, NSError* error) {
  54. *
  55. * }];
  56. */
  57. + (void)locationWithRequestBlock:(APRequestBlock)requestBlock
  58. onFinishedLocating:(APCoreLocationBlock)locatingBlock
  59. onFinishedReversingGeocode:(APCoreLocationWithReversingGeocodeBlock)reversingGeocodeBlock;
  60. /**
  61. * 已知经纬度,直接获取逆地理编码信息。
  62. *
  63. * @param requestBlock 定制 LBSLocationRequest 对象,设置参数的 block,参数通过设置的 property 来完成:
  64. * bizType 为业务场景标识;
  65. * location 为要做逆地理编码的已知经纬度信息;
  66. * coordinateConverted 标识是否是经过坐标系转换,即是否是国内的 GCJ02 标准的坐标,默认YES;
  67. * reGeoLevel 为逆地理级别,除非必要否则不要选择带有 poi 的级别;
  68. * reGeoType(deprecated since10.0.2,请使用 reGeoLevel),默认为APCoreLocationReGeoTypeReverse
  69. * @param reversingGeocodeBlock 定位结果回调 block,回调参数如下:
  70. * success 表明逆地理调用是否成功;
  71. * location 为定位结果;
  72. * addressInfo 为逆地理结果;
  73. * error 为错误信息;
  74. *
  75. */
  76. + (void)locationWithRequestBlock:(APRequestBlock)requestBlock
  77. onFinishedReversingGeocode:(APCoreLocationWithReversingGeocodeBlock)reversingGeocodeBlock;

参数设置

以下内容将对请求对象和逆地理查询结果的地址信息对象进行说明。目前主要是请求对象,参数通过定制此对象的 property 传入。

  1. @interface LBSLocationRequest : NSObject
  2. /**期望精度,单位为米,建议结合业务场景传入一个可接受正数,如 500,即 500m 以内的范围*/
  3. @property(nonatomic,assign)CLLocationAccuracy desiredAccuracy;
  4. /**业务的类型,如果是 native 的话传类名,埋点用,必传*/
  5. @property(nonatomic,strong)NSString *bizType;
  6. /**从当前时间往前推,多长时间内的缓存是有效的,推荐设置 30s 以上的缓存时间,必传*/
  7. @property(nonatomic,assign)APCoreLocationCacheAvaliable cacheTimeInterval;
  8. /**定位超时的时间,单位为秒,默认值和最小值均设置为 2s*/
  9. @property(nonatomic,assign)NSTimeInterval timeOut;
  10. /**其它字段可暂时忽略,可选*/
  11. ...
  12. @end

代码示例

  • 设置请求参数:222

  • 发起定位请求:333