新版地圖轉譯器

自 Maps SDK for Android 18.0.0 版起,您可以使用升級版地圖轉譯器。這個轉譯器提供許多改善功能,包括支援雲端式地圖樣式。新版轉譯器最快將從 2022 年 6 月起逐步推出,在其成為 Android 裝置的預設轉譯器前,您可以選擇試用。

新版轉譯器具備下列優點:

  • 新版轉譯器支援雲端式地圖樣式功能。
  • 降低網路負載、處理需求和記憶體使用量。
  • 改善手勢處理功能來提高動畫品質,以及使平移和縮放更順暢。
  • 更流暢的轉場效果,以及位置明確的地圖標籤。
  • 更穩定、更優質的使用者體驗。

支援的裝置

如要使用新版轉譯器,裝置必須符合下列條件:

  • Android 5.0 (API 級別 22) 以上版本
  • 資料儲存空間大於 2 GB
  • 使用 Google Play 服務 21.39.14 以上版本

搭載 Android 21 以下版本,或是資料儲存空間小於 2 GB,或使用 Google Play 服務 21.39.13 以下版本的裝置,將繼續使用舊版轉譯器。

如何試用新版轉譯器

如要選擇採用新版轉譯器,請按照下列步驟操作:

您的程式碼必須先呼叫 MapsInitializer.initialize(),再建立任何 MapViewMapFragmentSupportMapFragment。建議您針對應用程式的 ApplicationActivityonCreate 中進行這項呼叫,再完成其內容檢視設定。

以下範例說明如何呼叫 MapsInitializer.initialize() 以要求轉譯器版本。

Java


import com.google.android.gms.maps.MapsInitializer;
import com.google.android.gms.maps.MapsInitializer.Renderer;
import com.google.android.gms.maps.OnMapsSdkInitializedCallback;

class MapRendererOptInApplication extends Application implements OnMapsSdkInitializedCallback {

  @Override
  public void onCreate() {
    super.onCreate();
    MapsInitializer.initialize(getApplicationContext(), Renderer.LATEST, this);
  }

  @Override
  public void onMapsSdkInitialized(MapsInitializer.Renderer renderer) {
    switch (renderer) {
      case LATEST:
        Log.d("MapsDemo", "The latest version of the renderer is used.");
        break;
      case LEGACY:
        Log.d("MapsDemo", "The legacy version of the renderer is used.");
        break;
    }
  }
}

      

Kotlin


import com.google.android.gms.maps.MapsInitializer
import com.google.android.gms.maps.MapsInitializer.Renderer
import com.google.android.gms.maps.OnMapsSdkInitializedCallback

internal class MapRendererOptInApplication : Application(), OnMapsSdkInitializedCallback {
  override fun onCreate() {
    super.onCreate()
    MapsInitializer.initialize(applicationContext, Renderer.LATEST, this)
  }

  override fun onMapsSdkInitialized(renderer: MapsInitializer.Renderer) {
    when (renderer) {
      Renderer.LATEST -> Log.d("MapsDemo", "The latest version of the renderer is used.")
      Renderer.LEGACY -> Log.d("MapsDemo", "The legacy version of the renderer is used.")
    }
  }
}