全部產品
Search
文件中心

Mobile Platform as a Service:接入 Android

更新時間:Jul 13, 2024

定位 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)