Обновленный модуль визуализации карт доступен с версии 18.0.0 Maps SDK для Android. Этот рендерер содержит множество улучшений, включая поддержку стилей облачных карт. Вы можете зарегистрироваться, чтобы попробовать новый модуль визуализации, прежде чем он станет модулем визуализации по умолчанию для устройств Android, посредством постепенного развертывания, которое начнется не раньше июня 2022 года.
Новый рендерер предоставляет следующие преимущества:
- В новом средстве визуализации доступны функции оформления облачных карт .
- В новом средстве визуализации доступны расширенные настройки полилиний .
- Снижена нагрузка на сеть, потребности в обработке и потребление памяти.
- Улучшенная обработка жестов для лучшей анимации, а также более плавное панорамирование и масштабирование.
- Более плавные переходы и четко расположенные метки на карте.
- Более стабильный и улучшенный пользовательский интерфейс.
Поддерживаемые устройства
Чтобы использовать новый модуль визуализации, устройства должны соответствовать следующим критериям:
- Android 5.0 (уровень API 21) или новее
- 2 ГБ или более для хранения данных
- с использованием сервисов Google Play версии 21.39.14 или новее
Устройства под управлением Android 4.4W (уровень API 20) и более ранних версий или с объемом памяти менее 2 ГБ или использующие сервисы Google Play версии 21.39.13 или более ранней по-прежнему будут использовать устаревший модуль визуализации.
Как попробовать новый рендерер
Чтобы включить новый модуль визуализации, выполните следующие действия:
- Обновите зависимости вашего приложения, чтобы использовать
com.google.android.gms:play-services-maps:18.0.0
или выше. - Обновите свой код, чтобы явно импортировать
MapsInitializer
иMapsInitializer.Renderer
. - Обновите свой код, чтобы он вызывал
MapsInitializer.initialize()
и запрашивалRenderer.LATEST
. - Используйте
OnMapsSdkInitializedCallback
, чтобы определить, какая версия средства визуализации была возвращена.
Ваш код должен вызвать MapsInitializer.initialize()
до создания любого MapView
, MapFragment
или SupportMapFragment
. Мы рекомендуем вызывать это в onCreate
для вашего приложения Application
или Activity
до того, как будет установлено его представление содержимого.
В следующем примере показано, как вызвать MapsInitializer.initialize()
для запроса версии отрисовщика.
Джава
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; } } }
Котлин
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.") } } }