새 지도 렌더기

업그레이드된 지도 렌더기는 Android용 Maps SDK 버전 18.2.0부터 사용할 수 있습니다. 이 렌더기를 통해 클라우드 기반 지도 스타일 지정 등의 여러 가지 개선된 기능을 이용할 수 있습니다.

새 렌더기에는 다음과 같은 이점이 있습니다.

  • 클라우드 기반 지도 스타일 지정 기능을 사용할 수 있습니다.
  • 고급 다중선 맞춤설정을 사용할 수 있습니다.
  • 네트워크 로드, 처리 수요, 메모리 소모가 감소했습니다.
  • 동작 처리가 개선되어 더 나은 애니메이션을 제공할 수 있으며, 화면 이동과 확대/축소가 더욱 부드러워졌습니다.
  • 전환이 더욱 매끄러워지고 지도 라벨의 배치가 명확해졌습니다.
  • 사용자 환경이 전반적으로 개선되고 안정성이 높아졌습니다.

출시 일정

2021년 10월에 Google은 업데이트된 지도 렌더기를 출시하기 시작했습니다. 출시 당시에는 사용자가 앱에서 업그레이드된 지도 렌더기를 사용할지 선택할 수 있었습니다.

Android용 Maps SDK 버전 18.2.0이 출시됨에 따라 Google은 기본 렌더기를 기존 렌더기에서 업그레이드된 지도 렌더기로 전환했습니다. 버전 18.2.0 출시 이후로는 새 앱을 빌드하거나 기존 앱을 다시 빌드할 때 업그레이드된 지도 렌더기를 사용하게 됩니다.

기본 렌더기가 변경되면 어떻게 되나요?

Android용 Maps SDK 버전 18.2.0이 출시됨에 따라 업그레이드된 렌더기가 기본 렌더기가 됩니다. 업그레이드된 렌더기를 사용하려면 새 SDK 버전을 사용하여 새 앱을 빌드하거나 기존 앱을 다시 빌드해야 합니다.

새 렌더기의 사용을 거부할 수도 있습니다. 거부할 경우 앱에서 기존 렌더기를 계속 사용합니다. 새 렌더기의 사용을 거부하는 방법의 예시를 보려면 업그레이드된 렌더기의 사용 거부를 참고하세요.

지원되는 기기

업그레이드된 지도 렌더기를 사용하려면 기기에서 다음 기준을 충족해야 합니다.

  • Android 5.0(API 수준 21) 이상
  • 데이터 저장용량 2GB 이상
  • Google Play 서비스 버전 21.39.14 이상 사용

기본 렌더기가 업그레이드된 지도 렌더기로 변경된 후에도 Android 4.4W(API 수준 20) 이전 버전을 사용하거나 데이터 저장용량이 2GB 미만이거나 Google Play 서비스 21.39.13 이전 버전을 사용하는 기기에서는 기존 렌더기가 계속 사용됩니다.

업그레이드된 렌더기의 사용 거부

기본적으로 Android용 Maps SDK 버전 18.2.0으로 빌드된 앱에서는 업그레이드된 렌더기를 사용합니다. 필요한 경우 앱에서 기존 렌더기를 사용하기 위해 업그레이드된 렌더기의 사용을 명시적으로 거부할 수 있습니다.

이 기능의 사용을 거부하려면 다음 조치를 취하세요.

MapView, MapFragment 또는 SupportMapFragment가 만들어지기 전에 코드에서 MapsInitializer.initialize()를 호출해야 합니다. 콘텐츠 뷰를 설정하기 전에 onCreate에서 앱의 애플리케이션 또는 활동에 대해 호출하는 것이 좋습니다.

다음 예에서는 MapsInitializer.initialize()를 호출하여 기존 지도 렌더기를 사용하기 위해 새 렌더기의 사용을 거부하는 방법을 보여줍니다.

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.LEGACY, 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.")
    }
  }
}

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.LEGACY, 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;
    }
  }
}