Google は、Android における Google Maps Platform の開発体験を向上させる方法を常に模索しています。そのため、Maps SDK for Android のレンダラを更新し、より多くの機能とより優れたパフォーマンスを提供できるよう取り組んでいます。
2021 年 10 月に更新したレンダラをご利用いただいているデベロッパーの皆様に感謝申し上げます。最新バージョンには、良い点や改善案などの皆様からのフィードバックに基づいた改良が施されており、すぐにお試しいただけます。アップグレードされたマップレンダラは、Maps SDK for Android のバージョン 18.0.0 以降でご利用いただけます。オプトインしてご利用のうえ、機能の不具合報告については適宜お知らせいただければ幸いです。
新しいマップレンダラの利点は次のとおりです。
- ネットワーク負荷、処理要求、メモリ使用量の軽減
- 以前のレンダラよりも高速なコールド スタート
- 安定性とユーザー エクスペリエンスの向上
- 操作処理の改良により、アニメーションの質が向上し、パンとズームがより滑らかに
- 画面の切り替えをより滑らかにし、地図ラベルの位置もさらに鮮明に
- Android 5.0(API レベル 21)以降
- 2 GB 以上のデータ ストレージ
- Google Play 開発者サービス バージョン 21.39.14 以降の使用
新しいマップレンダラにアップグレードする方法
- アプリの依存関係を更新して、com.google.android.gms:play-services-maps:18.0.0 以降を使用します。
- コードを更新して、MapsInitializerと MapsInitializer.Rendererを明示的にインポートします。
- コードを更新して、MapsInitializer.initialize()を呼び出し、Renderer.LATEST をリクエストします。
- OnMapsSdkInitializedCallbackを使用して、返されたレンダラのバージョンを特定します。
- MapView、MapFragmentまたは SupportMapFragmentが作成される前に、コードで MapsInitializer.initialize()を呼び出す必要があります。アプリの Applicationまたは Activityの onCreate でこれを呼び出してから、コンテンツ ビューを設定することをおすすめします。
例
MapsInitializer.initialize() を呼び出してレンダラ バージョンをリクエストする方法について 2 つのコードサンプルを次に示します。
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;
}
}
}
Java のコードサンプル
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.")
}
}
}
Kotlin のコードサンプル
お問い合わせ
レンダラがうまく機能せずお困りの場合、Issue Trackerに問題点を登録してください。できる限り早急に対応いたします。Android 用の新しいマップレンダラをオプトインして使用を開始する方法については、こちらのドキュメントをご覧ください。機能の具合について、皆様からのフィードバックをお待ちしております。すでに新しいレンダラにアップグレードされた方には、今後のサービス向上のため簡単なアンケートにご回答いただいております。ご協力のほどよろしくお願いいたします。
Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やフィードバックはページ右上の「お問い合わせ」より承っております。
Posted by 丸山 智康 (Tomoyasu Maruyama) - Developer Relations Engineer