ตัวแสดงผลแผนที่ที่อัปเกรดพร้อมใช้งานตั้งแต่เวอร์ชัน 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; } } }