Новое средство отрисовки карт

Обновленное средство отрисовки карт доступно в Maps SDK для Android версии 18.0.0. Вы найдете множество новых возможностей, включая поддержку облачных стилей карт. Вы можете протестировать это средство до того, как оно начнет использоваться по умолчанию на устройствах Android (переход будет выполняться постепенно с июня 2022 года).

Новое средство отрисовки обеспечивает следующие преимущества:

  • Поддержка функций облачных стилей карт.
  • Поддержка расширенного использования ломаных линий.
  • Снижение нагрузки на сеть, а также потребления вычислительных ресурсов и памяти.
  • Улучшения поддержки жестов и анимаций, более плавные панорамирование и масштабирование.
  • Более плавные переходы и четкое расположение пометок на карте.
  • Более стабильный и удобный пользовательский интерфейс.

Поддерживаемые устройства

Чтобы вы могли использовать новое средство отрисовки, устройства должны соответствовать следующим критериям:

  • Android версии 5.0 (уровень API 21) или более поздней;
  • объем хранилища данных не менее 2 ГБ;
  • сервисы Google Play версии 21.39.14 или более поздней.

Прежнее средство отрисовки будет использоваться, если на устройстве установлена ОС Android 4.4W (уровень API 20) и более ранней версии, объем хранилища данных составляет менее 2 ГБ или используются сервисы Google Play версии 21.39.13 и ниже.

Как испытать новое средство отрисовки

Чтобы включить новое средство отрисовки, выполните следующие действия:

В вашем коде вызов MapsInitializer.initialize() должен совершаться до создания каких-либо объектов MapView, MapFragment и SupportMapFragment. Рекомендуется поместить этот вызов в метод onCreate класса Application или Activity (до настройки представления контента).

В следующем примере демонстрируется вызов 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.")
    }
  }
}