接入 Android

定位 SDK 是一套简单的 LBS(Location-based services)定位接口,您可以使用这套定位 API 获取定位结果。

定位支持 原生 AAR 接入组件化接入 两种接入方式。

前置条件

添加 SDK

原生 AAR 方式

参考 AAR 组件管理,通过 组件管理(AAR)在工程中安装 定位 组件。

组件化方式

在 Portal 和 Bundle 工程中通过 组件管理 安装 定位 组件。更多信息,参考 管理组件依赖

申请高德KEY

使用 LBS 之前,在 高德开放平台 申请账号并获取定位 Key。申请的 Key 示例如下:

2

配置 AndroidManifest

AndroidManifest.xml 文件中添加高德定位的 Key 和高德定位 Service。

 <!--高德定位 Key-->
  <meta-data
        android:name="com.amap.api.v2.apikey"
        android:value="填入您申请的高德 Key" />
  <!--高德定位 Service-->
  <service android:name="com.amap.api.location.APSService"></service>

从 10.1.68.18 版本起,定位的自动签到功能默认关闭。如需开启自动签到,需要在 AndroidManifest 文件中手动添加如下配置:

<meta-data android:name="com.mpaas.lbs.autoCheckIn" android:value="true" />

API 说明

调用定位能力

说明

默认定位到区县级别,详细街道级别参考 其他相关接口

LBSLocationManagerProxy.getInstance().requestLocationUpdates(MainActivity.this, new LBSLocationListener() {
          @Override
          public void onLocationUpdate(LBSLocation lbsLocation) {
              Toast.makeText(MainActivity.this, "lbsLocation is " + lbsLocation.getAddress(), Toast.LENGTH_LONG).show();
          }
          @Override
          public void onLocationFailed(int i) {
              Toast.makeText(MainActivity.this,
                      "onLocationFailed" + i, Toast.LENGTH_SHORT).show();
          }
      });

其他相关接口

/**
* 注册定位,定位到区县级别
*/
public void requestLocationUpdates(Context context, LBSLocationListener locationListener)
/**
* 注册定位,如果需要定位到街道级别,请使用此 API
* gpsEnable: false 表示定位到区县级别,true 表示定位到街道级别,精度更高,更耗性能
* miniInterval: 定位间隔时间,可以使用 LBSLocationManagerProxy.DEFAULT_LOCATION_INTERVAL
* overtime: 定位超时时间,可以使用 LBSLocationManagerProxy.LOCATION_TIME_OUT
* isNeedAddress: true 表示逆地理,false 表示仅经纬度
* bizType: 业务类型,传 null 即可
*/
public void doRequestLocationUpdates(Context context, boolean gpsEnable, LBSLocationListener locationListener, long miniInterval, long overtime, boolean isNeedAddress, String bizType)
// remove 定位注册的回调
public void removeUpdates(Context context, LBSLocationListener listener)
// 获取最近一次定位成功的位置
public LBSLocation getLastKnownLocation(Context context)