โปรแกรมแสดงภาพแผนที่ใหม่

เครื่องมือแสดงผลแผนที่ที่อัปเกรดแล้วพร้อมใช้งานตั้งแต่เวอร์ชัน 18.2.0 ของ Maps SDK สำหรับ Android โปรแกรมแสดงผลนี้มีการปรับปรุงหลายอย่าง รวมถึงรองรับ การจัดรูปแบบแผนที่บนระบบคลาวด์

โดยโปรแกรมแสดงผลใหม่มีประโยชน์ดังนี้

  • การจัดรูปแบบแผนที่ในระบบคลาวด์ พร้อมใช้งานในตัวเรนเดอร์ใหม่
  • การปรับแต่ง Polyline ขั้นสูง พร้อมใช้งานในโปรแกรมแสดงผลใหม่
  • ลดภาระงานของเครือข่าย ความต้องการในการประมวลผล และการใช้หน่วยความจำ
  • ปรับปรุงการจัดการท่าทางสัมผัสเพื่อให้ภาพเคลื่อนไหวดีขึ้น รวมถึงการเลื่อนและ การซูมที่ราบรื่นยิ่งขึ้น
  • การเปลี่ยนฉากที่ราบรื่นยิ่งขึ้นและป้ายกำกับแผนที่ที่วางตำแหน่งอย่างชัดเจน
  • ประสบการณ์ของผู้ใช้ที่เสถียรและดียิ่งขึ้น

สถานะการอัปเดตอัตโนมัติ

ในเดือนมีนาคม 2024 Google ได้เริ่มอัปเดตแอปที่ใช้งานอยู่ทั้งหมดโดยอัตโนมัติให้ใช้ โปรแกรมแสดงผลที่อัปเกรดแล้ว ระบบได้ใช้การอัปเดตอัตโนมัติกับแอปทั้งหมดที่ทำงาน ในอุปกรณ์ที่มีคุณสมบัติตรงตามข้อกำหนดขั้นต่ำของอุปกรณ์ โดยไม่คำนึงถึงเวอร์ชันของ Maps SDK สำหรับ Android ที่แอปใช้ การเปิดตัวนี้ เสร็จสมบูรณ์แล้ว

การอัปเดตอัตโนมัติจะไม่มีผลกับรายการต่อไปนี้

อุปกรณ์ที่รองรับ

อุปกรณ์ต้องเป็นไปตามเกณฑ์ต่อไปนี้จึงจะใช้โปรแกรมแสดงผลแผนที่ที่อัปเกรดแล้วได้

  • Android 5.0 (API ระดับ 21) ขึ้นไป
  • ใช้บริการ Google Play เวอร์ชัน 21.39.14 ขึ้นไป

อุปกรณ์ที่ใช้ Android 4.4W (API ระดับ 20) และเวอร์ชันก่อนหน้า หรือใช้บริการ Google Play เวอร์ชัน 21.39.13 และเวอร์ชันก่อนหน้าจะยังคงใช้โปรแกรมแสดงผลเดิม

เลือกไม่ใช้ตัวแสดงผลที่อัปเกรดแล้ว

หากจำเป็น คุณสามารถเลือกไม่ใช้ตัวแสดงผลที่อัปเกรดแล้วอย่างชัดแจ้งเพื่อใช้ตัวแสดงผลเดิมในแอปได้

โดยวิธีเลือกไม่ใช้มีดังนี้

  • อัปเกรด Maps SDK สำหรับ Android เป็น v18.0 ขึ้นไป

  • อัปเดตโค้ดเพื่อนำเข้า MapsInitializer และ MapsInitializer.Renderer อย่างชัดเจน

  • อัปเดตโค้ดเพื่อเรียกใช้ MapsInitializer.initialize() โดยส่ง Renderer.LEGACY เพื่อเลือกไม่ใช้และใช้โปรแกรมแสดงผลเวอร์ชันเดิม

  • ใช้ OnMapsSdkInitializedCallback เพื่อระบุเวอร์ชันของเครื่องมือแสดงผลที่ส่งคืน

โค้ดของคุณต้องเรียกใช้ MapsInitializer.initialize() ก่อนที่จะมีการสร้าง MapView, MapFragment หรือ SupportMapFragment เราขอแนะนำให้เรียกใช้ฟังก์ชันนี้ใน onCreate สำหรับ Application หรือ Activity ของแอป ก่อนที่จะตั้งค่ามุมมองเนื้อหา

ตัวอย่างต่อไปนี้แสดงวิธีเรียกใช้ 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;
    }
  }
}