Maps SDK สำหรับ Android สามารถแสดงภาพบิตแมปของแผนที่ที่เสนอ โต้ตอบกับผู้ใช้ได้อย่างจำกัด ซึ่งเรียกว่าแผนที่โหมด Lite
ตัวอย่างโค้ด
ที่เก็บ ApiDemos บน GitHub ประกอบด้วย ตัวอย่างที่สาธิตการใช้โหมด Lite
- LiteDemoActivity - Java: พื้นฐานของการใช้แผนที่โหมด Lite ใน Java
- LiteDemoActivity - Kotlin: พื้นฐานของการใช้แผนที่โหมด Lite ใน Kotlin
- LiteListDemoActivity - Java: การแสดงแผนที่อย่างมีประสิทธิภาพใน ListView ที่ใช้โหมด Lite ใน Java
- LiteListDemoActivity - Kotlin: การแสดงแผนที่อย่างมีประสิทธิภาพใน ListView ที่ใช้โหมด Lite ใน Kotlin
ภาพรวมของโหมด Lite
แผนที่โหมด Lite คือภาพบิตแมปของแผนที่ที่ตำแหน่งที่ระบุและการซูม โหมด Lite สนับสนุนแผนที่ทุกประเภท (ปกติ ไฮบริด ดาวเทียม ภูมิประเทศ) และบางส่วนของฟังก์ชันการทำงานที่มาจาก API เต็มรูปแบบ โหมด Lite มีประโยชน์เมื่อคุณต้องการแสดงแผนที่จำนวนหนึ่งในสตรีม หรือระบุแผนที่ที่ มีขนาดเล็กเกินกว่าที่จะสนับสนุนการโต้ตอบที่มีความหมาย
ผู้ใช้ที่ดูแผนที่ไม่สามารถซูมหรือเลื่อนแผนที่ได้ ไอคอนบนแผนที่ให้ ผู้ใช้เข้าถึงเพื่อดูแผนที่ในแอป Google Maps บนอุปกรณ์เคลื่อนที่และส่งคำขอ เส้นทาง
การเพิ่มแผนที่โหมด Lite
โหมด Lite ใช้คลาสและอินเทอร์เฟซเดียวกับ Google Maps เวอร์ชันเต็มสำหรับ Android
API คุณตั้งค่า GoogleMap
เป็นโหมด Lite ได้ด้วยวิธีต่อไปนี้
ด้วยวิธีต่อไปนี้
- เป็นแอตทริบิวต์ XML สำหรับ
MapView
หรือMapFragment
ก็ได้ - หรือในออบเจ็กต์
GoogleMapOptions
เป็นแอตทริบิวต์ XML สำหรับ MapView
หรือ MapFragment
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="13"
map:mapType="normal"
map:liteMode="true"/>
ในออบเจ็กต์ GoogleMapOptions
Kotlin
val options = GoogleMapOptions() .liteMode(true)
Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
สำหรับรายละเอียดเกี่ยวกับการตั้งค่าสถานะเริ่มต้นของแผนที่ โปรดดูที่คำแนะนำ map object (ออบเจ็กต์แผนที่)
ตั้งใจที่จะเปิดใช้งานมุมมองแผนที่หรือคำขอเส้นทาง
โดยค่าเริ่มต้น แถบเครื่องมือที่ด้านขวาล่างของแผนที่จะมีไอคอนที่
ให้การเข้าถึงมุมมองแผนที่หรือคำขอเส้นทางใน Google Maps มือถือ
แอป คุณสามารถปิดใช้งานแถบเครื่องมือได้โดยการเรียกใช้
UiSettings.setMapToolbarEnabled(false)
สำหรับข้อมูลเพิ่มเติม
รายละเอียด โปรดดูเอกสารประกอบของแถบเครื่องมือ
นอกจากนี้ โดยค่าเริ่มต้น เมื่อผู้ใช้แตะแผนที่ API จะเริ่มต้น Google Maps สำหรับมือถือ
แอป คุณสามารถลบล้างค่านี้ได้โดยใช้ GoogleMap.setOnMapClickListener()
เพื่อ
ตั้งค่า Listener ของคุณเอง คุณยังสามารถปิดใช้งานกิจกรรมการคลิกบนแผนที่โดยการโทร
setClickable()
ในข้อมูลพร็อพเพอร์ตี้ที่มี MapView
หรือ MapFragment
สำหรับ
รายละเอียดของเทคนิค 2 อย่างนี้ในเอกสารประกอบเกี่ยวกับเหตุการณ์
เหตุการณ์ในวงจร
เมื่อใช้ API ในโหมดอินเทอร์แอกทีฟโดยสมบูรณ์ ผู้ใช้คลาส MapView
ต้องส่งต่อวิธีวงจรของกิจกรรมทั้งหมดไปยังเมธอดที่เกี่ยวข้อง
ในชั้นเรียน MapView
ตัวอย่างของวงจรชีวิตมีดังนี้
onCreate()
, onDestroy()
, onResume()
และ onPause()
เมื่อใช้คลาส MapView
ในโหมด Lite การส่งต่อเหตุการณ์ในวงจรจะเป็น
ไม่บังคับ ยกเว้นสถานการณ์ต่อไปนี้
- คุณจำเป็นต้องเรียก
onCreate()
มิฉะนั้นแผนที่จะไม่ปรากฏ - หากคุณต้องการแสดงจุดตำแหน่งของฉันบนแผนที่โหมดไลท์และใช้
แหล่งที่มาของตำแหน่งเริ่มต้น คุณจะต้องโทรหา
onResume()
และonPause()
เพราะแหล่งที่มาของตำแหน่งจะอัปเดตในระหว่างการโทรเหล่านี้เท่านั้น หากคุณใช้ แหล่งที่มาตำแหน่งของคุณ ไม่จำเป็นต้องเรียกทั้งสองวิธีนี้
ฟีเจอร์ของ API ที่รองรับ
ตารางต่อไปนี้จะอธิบายลักษณะการทํางานของแผนที่โหมด Lite สําหรับแต่ละพื้นที่ ฟังก์ชัน API หากแอปเรียกใช้เมธอดที่ไม่รองรับในโหมด Lite API จะบันทึกข้อความเตือน
ฟังก์ชันการทำงาน | |
---|---|
ประเภทแผนที่ | รองรับไหม ใช่
แผนที่ต่อไปนี้
ประเภทพร้อมใช้งานผ่าน GoogleMapOptions.mapType() และ
GoogleMap.setMapType() : MAP_TYPE_NORMAL
MAP_TYPE_SATELLITE MAP_TYPE_TERRAIN
MAP_TYPE_HYBRID เวลา MAP_TYPE_NONE |
โพลีไลน์ รูปหลายเหลี่ยม วงกลม | รองรับไหม ใช่
ฟังก์ชันการทำงานของโหมด Lite สำหรับ
รูปร่าง จะตรงกับ
API ทั้งหมด |
การฉายภาพ | รองรับไหม ใช่
ฟังก์ชันการทำงานของโหมด Lite สำหรับ
การฉายภาพ
ตรงกับ API แบบเต็ม |
ตำแหน่งของฉัน | รองรับไหม ใช่
ฟังก์ชันการทำงานของโหมด Lite สำหรับ
เลเยอร์ตำแหน่งของฉัน
ตรงกับ API แบบเต็ม |
ระยะห่างจากขอบของแผนที่ | รองรับไหม ใช่
การรองรับโหมด Lite สำหรับ
ระยะห่างจากขอบของแผนที่
ตรงกับ API แบบเต็ม |
หน้าต่างข้อมูล | รองรับไหม ใช่
หากคุณกำหนด title() ของเครื่องหมาย ค่าเริ่มต้น
หน้าต่างข้อมูลจะ
ปรากฏขึ้นเมื่อผู้ใช้แตะเครื่องหมาย คุณสามารถแสดงหน้าต่างข้อมูล
แบบเป็นโปรแกรมโดยการเรียกใช้ showInfoWindow() บนเครื่องหมาย
คุณยังสามารถสร้างหน้าต่างข้อมูลที่กำหนดเองผ่าน
อินเทอร์เฟซของ InfoWindowAdapter |
รูปแบบแผนที่ฐานที่กำหนดเอง | รองรับไหม บางส่วน
Maps SDK สำหรับ Android สนับสนุน
การจัดรูปแบบที่กำหนดเอง
แผนที่ฐาน โหมด Lite รองรับเฉพาะการจัดรูปแบบที่กำหนดเองตาม JSON เท่านั้น ไม่ใช่
การจัดรูปแบบในระบบคลาวด์ ซึ่งต้องใช้รหัสแผนที่ในการแสดงผลแผนที่ที่มีการจัดรูปแบบ
นอกจากนี้ โหมด Lite ยังไม่รองรับการตั้งค่า
รูปแบบสีของแผนที่
ใช้โหมดมืด
|
เครื่องหมาย | รองรับไหม บางส่วน
คุณสามารถเพิ่มเครื่องหมาย
และตอบกลับเหตุการณ์การคลิก นอกจากนี้ คุณยังเพิ่ม
ไอคอนเครื่องหมาย ไม่สามารถทำให้เครื่องหมายสามารถลากได้ เครื่องหมายบน
แผนที่โหมดไลท์จะแบนและหมุนไม่ได้ |
ตำแหน่งกล้อง การซูม และภาพเคลื่อนไหว | รองรับไหม บางส่วน
คุณตั้งเป้าหมายและซูมของกล้องได้ แต่เลือกเอียงหรือหมุนทิศทางไม่ได้
ระบบจะปัดเศษระดับการซูมเป็นจำนวนเต็มที่ใกล้ที่สุดในโหมด Lite
การโทรหา การโทรหา |
จับคู่เหตุการณ์ | รองรับไหม บางส่วน
รองรับโหมด Lite
หากต้องการปิดกิจกรรมการคลิกบนแผนที่ในโหมดไลท์ คุณสามารถโทรติดต่อ
โปรดดูรายละเอียดที่ กิจกรรม เอกสารประกอบ |
แผนที่และอาคารในอาคาร | รองรับไหม ไม่
โหมด Lite จะแสดงไทล์เดียวกับ
Maps Static API
ซึ่งหมายความว่าหากแผนผังชั้นในอาคารรวมอยู่บนชิ้นส่วนเริ่มต้นแล้ว
ก็จะปรากฏ ไม่เช่นนั้นระบบจะไม่ดำเนินการ คุณไม่สามารถเปลี่ยนระดับ
แสดงหรือเปลี่ยนแปลงเครื่องมือเลือกระดับ |
เลเยอร์การจราจร | รองรับไหม ไม่
ไม่รองรับ GoogleMap.setTrafficEnabled()
ในโหมด Lite |
การวางซ้อนพื้น | รองรับไหม ไม่
GoogleMap.addGroundOverlay() ไม่รองรับในรุ่น Lite
|
การวางซ้อนของชิ้นส่วนแผนที่ | รองรับไหม ไม่
GoogleMap.addTileOverlay() ไม่รองรับในรุ่น Lite
|
ท่าทางสัมผัส | รองรับไหม ไม่
โหมด Lite ไม่รองรับท่าทางสัมผัส การเปิดและปิดใช้ท่าทางสัมผัส
จะไม่มีผล |
Street View | รองรับไหม ไม่
Street View คือ
ไม่รองรับในโหมด Lite |