การควบคุมและท่าทางสัมผัส

เลือกแพลตฟอร์ม: Android iOS JavaScript

การใช้ Maps SDK สำหรับ Android ทำให้คุณปรับแต่งวิธีที่ผู้ใช้โต้ตอบกับแผนที่ได้ โดยการกำหนดคอมโพเนนต์ UI ในตัวที่ปรากฏในแผนที่และท่าทางสัมผัสที่ได้รับอนุญาต

ตัวอย่างโค้ด

ที่เก็บ ApiDemos ใน GitHub มีตัวอย่างที่แสดงให้เห็นถึงการใช้ตัวเลือกการควบคุมและท่าทางสัมผัส ดังนี้

โหมด 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)