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