การใช้ Maps SDK สำหรับ Android ทำให้คุณปรับแต่งวิธีที่ผู้ใช้โต้ตอบกับแผนที่ได้ โดยการกำหนดคอมโพเนนต์ UI ในตัวที่ปรากฏในแผนที่และท่าทางสัมผัสที่ได้รับอนุญาต
ตัวอย่างโค้ด
ที่เก็บ ApiDemos ใน GitHub มีตัวอย่างที่แสดงให้เห็นถึงการใช้ตัวเลือกการควบคุมและท่าทางสัมผัส ดังนี้
- UiSettingsDemoActivity: ตัวอย่าง Kotlin
- UiSettingsDemoActivity: ตัวอย่าง Java
โหมด Lite เพื่อการโต้ตอบของผู้ใช้น้อยที่สุด
หากคุณต้องการแผนที่ขนาดเล็กซึ่งมีการโต้ตอบของผู้ใช้น้อยที่สุด ให้ลองใช้แผนที่ในโหมด Lite โหมด Lite มีรูปภาพบิตแมปของแผนที่ในตำแหน่งและระดับการซูมที่ระบุ ในโหมดไลท์ ผู้ใช้จะไม่สามารถเลื่อนหรือซูมแผนที่และท่าทางสัมผัสจะไม่ทำงาน โปรดดูรายละเอียดในคำแนะนำเกี่ยวกับโหมด Lite
ตัวควบคุม UI
แผนที่ API มีการควบคุม UI ในตัวซึ่งคล้ายกับการควบคุมที่พบในแอปพลิเคชัน Google แผนที่บนโทรศัพท์ Android ของคุณ คุณสลับระดับการเข้าถึงของการควบคุมเหล่านี้ได้โดยใช้คลาส UiSettings
ซึ่งได้จาก GoogleMap
ด้วยเมธอด GoogleMap.getUiSettings
การเปลี่ยนแปลงที่ทำในชั้นเรียนนี้จะแสดงบนแผนที่ทันที หากต้องการดูตัวอย่างฟีเจอร์เหล่านี้ โปรดดูกิจกรรมการสาธิตการตั้งค่า UI ในแอปพลิเคชันตัวอย่าง
คุณยังกำหนดค่าตัวเลือกเหล่านี้ส่วนใหญ่ได้ด้วยเมื่อสร้างแผนที่ผ่านแอตทริบิวต์ XML หรือใช้คลาส GoogleMapOptions
ดูรายละเอียดเพิ่มเติมได้ที่การกำหนดค่าสถานะเริ่มต้น
ตัวควบคุม UI แต่ละรายการมีตำแหน่งที่กำหนดไว้แล้วโดยสัมพันธ์กับขอบของแผนที่
คุณย้ายตัวควบคุมออกจากขอบด้านบน ด้านล่าง ด้านซ้าย หรือขวาได้โดยการเพิ่มระยะห่างจากขอบในออบเจ็กต์ GoogleMap
การควบคุมการซูม
แผนที่ API มีตัวควบคุมการซูมในตัวที่ปรากฏที่มุมขวาล่างของแผนที่ ฟีเจอร์เหล่านี้จะปิดใช้โดยค่าเริ่มต้น แต่เปิดใช้ได้โดยการเรียกใช้ UiSettings.setZoomControlsEnabled(true)
เข็มทิศ
แผนที่ API แสดงกราฟิกเข็มทิศที่ปรากฏในมุมซ้ายบนของแผนที่ภายใต้สถานการณ์บางอย่าง เข็มทิศจะปรากฏขึ้นก็ต่อเมื่อกล้องอยู่ในแนวที่มีทิศทางที่ไม่ใช่ 0 หรือการเอียงที่ไม่เป็น 0 เท่านั้น เมื่อผู้ใช้คลิกที่เข็มทิศ กล้องจะเคลื่อนไหวกลับไปยังตำแหน่งที่มีทิศทางและเอียงเป็น 0 (การวางแนวเริ่มต้น) และเข็มทิศจะจางลงหลังจากนั้นไม่นาน คุณสามารถปิดเข็มทิศที่ปรากฏขึ้นไปเลยโดยโทรไปที่ UiSettings.setCompassEnabled(boolean)
แต่คุณจะบังคับให้แสดงเข็มทิศเสมอไม่ได้
ปุ่มตำแหน่งของฉัน
ปุ่มตำแหน่งของฉันจะปรากฏที่มุมขวาบนของหน้าจอเฉพาะเมื่อมีการเปิดใช้เลเยอร์ตำแหน่งของฉัน โปรดดูรายละเอียดในคำแนะนำเกี่ยวกับข้อมูลตำแหน่ง
เครื่องมือเลือกระดับ
โดยค่าเริ่มต้น เครื่องมือเลือกระดับ (เครื่องมือเลือกชั้น) จะปรากฏใกล้ขอบกลางขวาของหน้าจอเมื่อผู้ใช้ดูแผนที่ในอาคาร เมื่อมองเห็นแผนที่ในอาคารอย่างน้อย 2 แผนที่ ตัวเลือกระดับจะมีผลกับอาคารที่โฟกัสอยู่ ซึ่งโดยทั่วไปจะอยู่ใกล้กับกึ่งกลางของหน้าจอ แต่ละอาคารจะมีระดับเริ่มต้นซึ่งจะถูกเลือกเมื่อเครื่องมือเลือกปรากฏเป็นครั้งแรก ผู้ใช้เลือกระดับต่างๆ ได้โดยเลือกจากเครื่องมือเลือก
คุณจะปิดหรือเปิดการควบคุมเครื่องมือเลือกระดับได้โดยเรียกใช้ GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
ซึ่งจะเป็นประโยชน์หากคุณต้องการแทนที่เครื่องมือเลือกระดับเริ่มต้นด้วยค่าของคุณเอง
แถบเครื่องมือแผนที่
โดยค่าเริ่มต้น แถบเครื่องมือจะปรากฏที่ด้านขวาล่างของแผนที่เมื่อผู้ใช้แตะเครื่องหมาย แถบเครื่องมือช่วยให้ผู้ใช้เข้าถึงแอป Google Maps บนอุปกรณ์เคลื่อนที่ได้อย่างรวดเร็ว
คุณเปิดและปิดใช้แถบเครื่องมือได้โดยเรียกใช้ UiSettings.setMapToolbarEnabled(boolean)
ในแผนที่โหมด Lite แถบเครื่องมือจะยังคงอยู่แยกจากการดำเนินการของผู้ใช้ ในแผนที่แบบอินเทอร์แอกทีฟเต็มรูปแบบ แถบเครื่องมือจะเลื่อนเข้ามาเมื่อผู้ใช้แตะเครื่องหมายและเลื่อนออกอีกครั้งเมื่อตัวทำเครื่องหมายไม่อยู่ที่โฟกัสแล้ว
แถบเครื่องมือจะแสดงไอคอนที่ให้สิทธิ์เข้าถึงมุมมองแผนที่หรือคำขอเส้นทางในแอป Google Maps บนอุปกรณ์เคลื่อนที่ เมื่อผู้ใช้แตะไอคอนในแถบเครื่องมือ API จะสร้างความตั้งใจเพื่อเปิดกิจกรรมที่เกี่ยวข้องในแอป Google Maps บนอุปกรณ์เคลื่อนที่
แถบเครื่องมือจะปรากฏที่ด้านล่างขวาของแผนที่ในภาพหน้าจอด้านบน 0 ไอคอนความตั้งใจ 1 ไอคอนหรือทั้ง 2 ไอคอนจะปรากฏบนแผนที่ ทั้งนี้ขึ้นอยู่กับเนื้อหาในแผนที่ และในกรณีที่แอป Google Maps บนอุปกรณ์เคลื่อนที่รองรับความตั้งใจในการแสดงผลลัพธ์
ท่าทางสัมผัสสำหรับแผนที่
แผนที่ที่สร้างด้วย Maps SDK สำหรับ Android สนับสนุนท่าทางสัมผัสเดียวกับแอปพลิเคชัน Google Maps อย่างไรก็ตาม อาจมีสถานการณ์ที่คุณต้องการปิดใช้ท่าทางสัมผัสบางอย่างเพื่อรักษาสถานะของแผนที่ไว้ นอกจากนี้ ยังตั้งค่าการซูม เลื่อน เอียง และทิศทางแบบเป็นโปรแกรมได้ด้วย โปรดดูรายละเอียดเพิ่มเติมใน กล้องและมุมมอง โปรดทราบว่าการปิดใช้ท่าทางสัมผัสจะไม่ส่งผลต่อวิธีที่คุณเปลี่ยนตำแหน่งกล้องแบบเป็นโปรแกรมได้
เช่นเดียวกับการควบคุม UI คุณเปิดใช้/ปิดใช้ท่าทางสัมผัสด้วยคลาส UiSettings
ซึ่งได้จาก GoogleMap
ด้วยการเรียกใช้ GoogleMap.getUiSettings
การเปลี่ยนแปลงที่ทำในชั้นเรียนจะแสดงบนแผนที่ทันที หากต้องการดูตัวอย่างฟีเจอร์เหล่านี้ โปรดดูกิจกรรมการสาธิตการตั้งค่า UI ในแอปพลิเคชันตัวอย่าง (ดูวิธีติดตั้งที่นี่)
คุณยังกำหนดค่าตัวเลือกเหล่านี้เมื่อสร้างแผนที่ผ่านแอตทริบิวต์ XML หรือใช้คลาส GoogleMapOptions
ได้ด้วย
ดูรายละเอียดเพิ่มเติมในการกำหนดค่าแผนที่
ท่าทางสัมผัสการซูม
แผนที่ตอบสนองต่อท่าทางสัมผัสที่หลากหลายที่เปลี่ยนระดับการซูมของกล้อง ดังนี้
- แตะสองครั้งเพื่อเพิ่มระดับการซูม 1 ครั้ง (ซูมเข้า)
- แตะโดยใช้ 2 นิ้วเพื่อลดระดับการซูมลง 1 (ซูมออก)
- 2 นิ้วบีบ/ยืด
- ใช้ 1 นิ้วซูมด้วยการแตะสองครั้ง แต่ไม่ต้องปล่อยเมื่อแตะครั้งที่ 2 จากนั้นเลื่อนนิ้วขึ้นเพื่อซูมออก หรือเลื่อนลงเพื่อซูมเข้า
คุณปิดท่าทางสัมผัสการซูมได้โดยเรียกใช้ UiSettings.setZoomGesturesEnabled(boolean)
ตัวเลือกนี้จะไม่ส่งผลต่อการ
ที่ผู้ใช้จะใช้ตัวควบคุมการซูมเพื่อซูมเข้าและออก
ท่าทางสัมผัสการเลื่อน (เลื่อน)
ผู้ใช้สามารถเลื่อน (เลื่อน) ไปรอบๆ แผนที่ด้วยการลากแผนที่ด้วยนิ้ว
คุณปิดการเลื่อนได้โดยการเรียกใช้ UiSettings.setScrollGesturesEnabled(boolean)
ท่าทางสัมผัสการเอียง
ผู้ใช้สามารถเอียงแผนที่โดยวาง 2 นิ้วบนแผนที่ แล้วเลื่อนนิ้วลงหรือขึ้นพร้อมกันเพื่อเพิ่มหรือลดมุมการเอียงตามลำดับ คุณสามารถปิดใช้ท่าทางสัมผัสการเอียงโดยการเรียก UiSettings.setTiltGesturesEnabled(boolean)
หมุนท่าทางสัมผัส
ผู้ใช้สามารถหมุนแผนที่โดยวาง 2 นิ้วบนแผนที่ แล้วใช้การเคลื่อนไหวแบบหมุน คุณปิดใช้การหมุนได้โดยการเรียกใช้ UiSettings.setRotateGesturesEnabled(boolean)