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