Maps SDK สําหรับแอนดรอยด์สามารถแสดงภาพบิตแมปของแผนที่ ซึ่งให้ความสามารถในการโต้ตอบที่จํากัดแก่ผู้ใช้ ซึ่งเรียกว่าแผนที่โหมด Lite
ตัวอย่างโค้ด
ที่เก็บ ApiDemos ใน GitHub จะมีตัวอย่างที่แสดงการใช้โหมด Lite ดังนี้
- LiteDemoActivity - Java: พื้นฐานของการใช้แผนที่ในโหมด Lite ใน Java
- LiteDemoActivity - Kotlin: ข้อมูลพื้นฐานในการใช้แผนที่โหมด Lite ใน Kotlin
- LiteListDemoActivity - Java: แสดงแผนที่ใน ListView อย่างมีประสิทธิภาพโดยใช้โหมด Lite ใน Java
- LiteListDemoActivity - Kotlin: แสดงแผนที่ใน ListView อย่างมีประสิทธิภาพโดยใช้โหมด Lite ใน Kotlin
ภาพรวมของโหมด 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
Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
Kotlin
val options = GoogleMapOptions() .liteMode(true)
สําหรับรายละเอียดเกี่ยวกับการตั้งค่าสถานะเริ่มต้นของแผนที่ โปรดดูคําแนะนําเกี่ยวกับออบเจ็กต์แผนที่
เจตจํานงที่จะเปิดมุมมองแผนที่หรือคําขอเส้นทาง
โดยค่าเริ่มต้น แถบเครื่องมือที่ด้านล่างขวาของแผนที่จะมีไอคอน
ที่ให้สิทธิ์การเข้าถึงมุมมองแผนที่หรือคําขอเส้นทางในแอป Google Maps บนอุปกรณ์เคลื่อนที่
คุณสามารถปิดใช้งานแถบเครื่องมือได้ด้วยการเรียก UiSettings.setMapToolbarEnabled(false)
โปรดดูรายละเอียดเพิ่มเติมที่เอกสารประกอบเกี่ยวกับแถบเครื่องมือ
นอกจากนี้ โดยค่าเริ่มต้นเมื่อผู้ใช้แตะแผนที่ API จะเริ่มต้นแอป Google Maps บนอุปกรณ์เคลื่อนที่ คุณสามารถลบล้างค่านี้ได้โดยใช้ GoogleMap.setOnMapClickListener()
เพื่อตั้งค่า Listener ของคุณเอง นอกจากนี้ คุณยังปิดใช้เหตุการณ์การคลิกบนแผนที่ได้โดยเรียกใช้ setClickable()
ในข้อมูลพร็อพเพอร์ตี้ที่มี MapView
หรือ MapFragment
สําหรับรายละเอียดเกี่ยวกับเทคนิคทั้งสองนี้ โปรดดูเอกสารกิจกรรม
เหตุการณ์ในวงจร
เมื่อใช้ API ในโหมดอินเทอร์แอกทีฟเต็มรูปแบบ ผู้ใช้คลาส MapView
จะต้องส่งต่อเมธอดของวงจรกิจกรรมทั้งหมดไปยังเมธอดที่เกี่ยวข้องในคลาส MapView
ตัวอย่างเมธอดอายุการใช้งาน ได้แก่ onCreate()
, onDestroy()
, onResume()
และ onPause()
เมื่อใช้คลาส MapView
ในโหมด Lite เหตุการณ์การส่งต่ออายุการใช้งานจะเป็นการดําเนินการที่ไม่บังคับ ยกเว้นสถานการณ์ต่อไปนี้
- จําเป็นต้องโทรไปที่
onCreate()
มิเช่นนั้นแผนที่จะไม่ปรากฏ - หากต้องการแสดงจุดตําแหน่งของฉันบนแผนที่โหมด Lite และใช้ต้นทางของตําแหน่งเริ่มต้น คุณจะต้องโทรหา
onResume()
และonPause()
เนื่องจากแหล่งที่มาของตําแหน่งจะอัปเดตระหว่างการโทรเหล่านี้เท่านั้น หากคุณใช้แหล่งข้อมูลตําแหน่งของคุณเอง คุณไม่จําเป็นต้องเรียกใช้ทั้ง 2 วิธีนี้
ฟีเจอร์ 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 คุณสามารถเรียกใช้ ดูรายละเอียดได้ที่เอกสารประกอบสําหรับเหตุการณ์ |
แผนที่และอาคารในอาคาร | รองรับไหม ไม่ได้
โหมด Lite จะแสดงชิ้นส่วนเดียวกับ Maps Static API
ซึ่งหมายความว่าหากมีแผนผังชั้นภายในอบอยู่ในไทล์เริ่มต้น แผนผังนั้นจะปรากฏขึ้น มิฉะนั้นจะไม่เปิด นอกจากนี้ คุณจะเปลี่ยนระดับที่แสดงหรือจัดการเครื่องมือเลือกระดับไม่ได้ |
เลเยอร์การจราจร | รองรับไหม ไม่ได้
โหมด Lite ไม่รองรับ GoogleMap.setTrafficEnabled() |
การวางซ้อนพื้น | รองรับไหม ไม่ได้
โหมด Lite ไม่รองรับ GoogleMap.addGroundOverlay() |
การวางซ้อนแบบเรียงชิดกัน | รองรับไหม ไม่ได้
โหมด Lite ไม่รองรับ GoogleMap.addTileOverlay() |
ท่าทางสัมผัส | รองรับไหม ไม่ได้
โหมด Lite ไม่สนับสนุนท่าทางสัมผัส การเปิดใช้และปิดใช้ท่าทางสัมผัสจะไม่มีผล |
Street View | รองรับไหม ไม่ได้
โหมด Lite ไม่สนับสนุน Street View |