โหมด Lite

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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

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 ดูรายละเอียดเกี่ยวกับ 2 เทคนิคนี้ได้ในเอกสารประกอบสําหรับเหตุการณ์

เหตุการณ์ในวงจร

เมื่อใช้ 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 การเรียกใช้ GoogleMap.moveCamera() จะแสดงรูปภาพแผนที่ในโหมด Lite อีกภาพหนึ่ง ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าและจัดการกล้องได้ที่การเปลี่ยนมุมมอง

การเรียกใช้ GoogleMap.animateCamera() จะไม่ทําให้ภาพเคลื่อนไหวของการเคลื่อนไหวของกล้อง มุมมองกล้องจะย้ายไปยังตําแหน่งใหม่ทันที

จับคู่เหตุการณ์
รองรับไหม บางส่วน

โหมด Lite รองรับ GoogleMap.setOnMapClickListener() และ GoogleMap.setOnMapLongClickListener()

หากต้องการปิดใช้กิจกรรมการคลิกบนแผนที่ในโหมด Lite คุณสามารถเรียกใช้ setClickable() ในข้อมูลพร็อพเพอร์ตี้ที่มี MapView หรือ MapFragment การดําเนินการนี้จะมีประโยชน์ เช่น เมื่อแสดงแผนที่หรือแผนที่ในมุมมองรายการ ที่คุณต้องการให้กิจกรรมการคลิกเรียกใช้การทํางานที่ไม่เกี่ยวข้องกับแผนที่

ดูรายละเอียดได้ที่เอกสารประกอบสําหรับเหตุการณ์

แผนที่และอาคารในอาคาร
รองรับไหม ไม่ได้
โหมด Lite จะแสดงไทล์เดียวกับ Maps Static API ซึ่งหมายความว่าหาก Bake Plane ในร่มรวมอยู่ในการ์ดเริ่มต้นแล้ว แผนผังจะปรากฏขึ้น ไม่เช่นนั้นจะไม่มีการทําเช่นนั้น นอกจากนี้ คุณไม่สามารถเปลี่ยนระดับที่แสดงหรือปรับเปลี่ยนเครื่องมือเลือกระดับได้
เลเยอร์การเข้าชม
รองรับไหม ไม่ได้
โหมด Lite ไม่รองรับ GoogleMap.setTrafficEnabled()
การวางซ้อนพื้น
รองรับไหม ไม่ได้
โหมด Lite ไม่รองรับ GoogleMap.addGroundOverlay()
การวางซ้อนแบบเรียงชิดกัน
รองรับไหม ไม่ได้
โหมด Lite ไม่รองรับ GoogleMap.addTileOverlay()
ท่าทางสัมผัส
รองรับไหม ไม่ได้
โหมด Lite ไม่รองรับท่าทางสัมผัส การเปิดใช้และปิดใช้ท่าทางสัมผัสจะไม่มีผล
Street View
รองรับไหม ไม่ได้
ระบบไม่รองรับโหมด Street View