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

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

โหมดแสดงภาพใหม่มีประโยชน์ดังต่อไปนี้

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

กำหนดการเปิดตัว

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

การอัปเดตอัตโนมัติจะใช้กับแอปทั้งหมดที่ทำงานบนอุปกรณ์ที่มีคุณสมบัติตรงตาม ตามข้อกำหนดของอุปกรณ์ ไม่ว่าคุณจะใช้ Maps SDK สำหรับ Android ที่แอปใช้

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

จะเกิดอะไรขึ้นเมื่อตัวแสดงผลเริ่มต้นมีการเปลี่ยนแปลง

โหมดแสดงภาพเริ่มต้นได้กลายเป็นโหมดแสดงภาพที่อัปเกรดพร้อมกับรุ่น 18.2.0 ของ Maps SDK สำหรับ Android คุณสามารถใช้ประโยชน์จากโหมดแสดงภาพที่อัปเกรดแล้ว สามารถสร้างแอปใหม่หรือสร้างแอปที่มีอยู่แล้วอีกครั้งโดยใช้ SDK ใหม่ เวอร์ชัน หรือจะรอจนกว่าแอปที่คุณทำให้ใช้งานได้แล้วจะอัปเดตโดยอัตโนมัติก็ได้ 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 เป็น เวอร์ชัน 18.0 ขึ้นไป

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

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

  • ใช้ OnMapsSdkInitializedCallback เพื่อพิจารณาว่าจะแสดงผลตัวแสดงผลเวอร์ชันใด

รหัสของคุณต้องเรียกใช้ MapsInitializer.initialize() ก่อน MapView MapFragment, หรือ SupportMapFragment ถูกสร้างขึ้นแล้ว เราขอแนะนำให้โทรหาหมายเลขนี้ใน 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;
    }
  }
}