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