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

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

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

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

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

โหมด Lite เพื่อให้ผู้ใช้โต้ตอบกับน้อยที่สุด

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

ตัวควบคุม UI

Maps API มีการควบคุม UI ในตัวที่คล้ายกับการควบคุมที่พบในแอปพลิเคชัน Google Maps บนโทรศัพท์ Android คุณสลับระดับการเข้าถึงของการควบคุมเหล่านี้ได้โดยใช้คลาส UiSettings ซึ่งรับได้จาก GoogleMap ด้วยเมธอด GoogleMap.getUiSettings การเปลี่ยนแปลงที่ทำในชั้นเรียนนี้จะแสดงบนแผนที่ทันที หากต้องการดูตัวอย่างฟีเจอร์เหล่านี้ โปรดดูกิจกรรมการสาธิตการตั้งค่า UI ในแอปพลิเคชันตัวอย่าง

คุณยังกำหนดค่าตัวเลือกเหล่านี้ส่วนใหญ่ได้เมื่อสร้างแผนที่ผ่านแอตทริบิวต์ XML หรือใช้คลาส GoogleMapOptions ดูรายละเอียดเพิ่มเติมในการกำหนดค่าสถานะเริ่มต้น

ตัวควบคุม UI แต่ละรายการจะมีตำแหน่งที่กำหนดไว้ล่วงหน้าซึ่งสัมพันธ์กับขอบของแผนที่ คุณย้ายตัวควบคุมออกจากขอบด้านบน ด้านล่าง ซ้าย หรือขวาได้โดยการเพิ่มระยะห่างจากขอบลงในออบเจ็กต์ GoogleMap

ตัวควบคุมการซูม

Maps API มีการควบคุมการซูมในตัวซึ่งจะปรากฏขึ้นที่มุมขวาล่างของแผนที่ ระบบจะปิดใช้ฟีเจอร์เหล่านี้โดยค่าเริ่มต้น แต่เปิดใช้ได้ด้วยการโทรหา UiSettings.setZoomControlsEnabled(true)

ตัวควบคุมการซูม

เข็มทิศ

แผนที่ API มีกราฟิกเข็มทิศซึ่งจะปรากฏที่มุมซ้ายบนของแผนที่ในบางสถานการณ์ เข็มทิศจะปรากฏ ต่อเมื่อกล้องอยู่ในทิศทางที่กล้องมีทิศทางการเอียงที่ไม่ใช่ 0 หรือ ไม่ใช่ศูนย์ เมื่อผู้ใช้คลิกที่เข็มทิศ กล้องจะเคลื่อนไหวกลับไปยังตำแหน่งที่มีทิศทางการเอียงและการเอียงเป็น 0 (การวางแนวเริ่มต้น) และเข็มทิศจะหายไปในไม่ช้าหลังจากนั้น คุณสามารถปิดใช้งานเข็มทิศ ที่ปรากฏทั้งหมดได้โดยโทรไปที่ UiSettings.setCompassEnabled(boolean) แต่คุณไม่สามารถบังคับให้เข็มทิศแสดงทุกครั้งได้

เข็มทิศ

ปุ่มตำแหน่งของฉัน

ปุ่มตำแหน่งของฉันจะปรากฏที่มุมขวาบนของหน้าจอเฉพาะเมื่อมีการเปิดใช้งานเลเยอร์ตำแหน่งของฉัน โปรดดูรายละเอียดในคำแนะนำเกี่ยวกับข้อมูลตำแหน่ง

ปุ่มตำแหน่งของฉัน

เครื่องมือเลือกระดับ

โดยค่าเริ่มต้น เครื่องมือเลือกระดับ (เครื่องมือเลือกชั้น) จะปรากฏใกล้กับขอบตรงกลางขวาของหน้าจอเมื่อผู้ใช้กำลังดูแผนที่ในอาคาร เมื่อมีการแสดงแผนที่ในอาคารตั้งแต่ 2 หลังขึ้นไป เครื่องมือเลือกระดับจะนำไปใช้กับอาคารที่โฟกัสอยู่ ซึ่งโดยปกติแล้วจะอยู่ที่จุดกึ่งกลางของหน้าจอที่ใกล้ที่สุด แต่ละอาคารจะมีระดับเริ่มต้นซึ่งระบบจะเลือกเมื่อแสดงเครื่องมือเลือกเป็นครั้งแรก ผู้ใช้สามารถเลือกระดับต่างๆ ได้โดยเลือกจากเครื่องมือเลือก

คุณจะปิดหรือเปิดการควบคุมเครื่องมือเลือกระดับได้โดยเรียกใช้ GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)

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

เครื่องมือเลือกระดับ

แถบเครื่องมือแผนที่

โดยค่าเริ่มต้น แถบเครื่องมือจะปรากฏที่ด้านล่างขวาของแผนที่เมื่อผู้ใช้แตะที่เครื่องหมาย แถบเครื่องมือช่วยให้ผู้ใช้เข้าถึงแอป Google Maps บนอุปกรณ์เคลื่อนที่ได้อย่างรวดเร็ว

คุณเปิดและปิดใช้แถบเครื่องมือได้โดยเรียกใช้ UiSettings.setMapToolbarEnabled(boolean)

ในแผนที่ Lite-mode แถบเครื่องมือจะยังคงอยู่อย่างอิสระตามการดำเนินการของผู้ใช้ ในแผนที่โต้ตอบได้อย่างสมบูรณ์ แถบเครื่องมือจะเลื่อนเข้ามาเมื่อผู้ใช้แตะเครื่องหมาย และเลื่อนออกอีกครั้งเมื่อเครื่องหมายไม่ได้อยู่ในโฟกัสแล้ว

แถบเครื่องมือจะแสดงไอคอนสำหรับเข้าถึงมุมมองแผนที่หรือคำขอเส้นทางในแอป Google Maps บนอุปกรณ์เคลื่อนที่ เมื่อผู้ใช้แตะไอคอนบนแถบเครื่องมือ API จะสร้างความตั้งใจที่จะเปิดกิจกรรมที่เกี่ยวข้องในแอป Google Maps บนอุปกรณ์เคลื่อนที่

แถบเครื่องมือแผนที่

แถบเครื่องมือจะปรากฏที่ด้านล่างขวาของแผนที่ในภาพหน้าจอด้านบน ไอคอน Intent ศูนย์ 1 หรือทั้ง 2 ไอคอนจะปรากฏขึ้นบนแผนที่โดยขึ้นอยู่กับเนื้อหาของแผนที่ โดยมีเงื่อนไขว่าแอป Google Maps บนอุปกรณ์เคลื่อนที่นั้นรองรับ Intent ที่ทำให้เกิดผลลัพธ์ได้

ท่าทางสัมผัสสำหรับแผนที่

แผนที่ที่สร้างด้วย Maps SDK สำหรับ Android สนับสนุนท่าทางสัมผัสเดียวกันกับแอปพลิเคชัน Google Maps แต่อาจมีบางสถานการณ์ที่คุณต้องการปิดใช้ท่าทางสัมผัสบางอย่างเพื่อรักษาสถานะของแผนที่ นอกจากนี้ ยังสามารถตั้งค่าการซูม แพน เอียง และถือลูกปืนแบบเป็นโปรแกรมได้อีกด้วย ดูรายละเอียดเพิ่มเติมได้ที่กล้องและมุมมอง โปรดทราบว่าการปิดใช้ท่าทางสัมผัสไม่ได้ส่งผลต่อการเปลี่ยนตำแหน่งกล้องแบบเป็นโปรแกรม

คุณสามารถเปิด/ปิดใช้ท่าทางสัมผัสด้วยคลาส UiSettings ซึ่งสามารถรับจาก GoogleMap โดยเรียกใช้ GoogleMap.getUiSettings ได้เช่นเดียวกับการควบคุม UI การเปลี่ยนแปลงที่ทำในชั้นเรียนนี้ จะแสดงบนแผนที่ทันที หากต้องการดูตัวอย่างฟีเจอร์เหล่านี้ ให้ดูกิจกรรมสาธิตการตั้งค่า UI ในแอปพลิเคชันตัวอย่าง (ดูวิธีติดตั้งที่นี่)

นอกจากนี้ คุณยังกำหนดค่าตัวเลือกเหล่านี้ได้เมื่อสร้างแผนที่ผ่านแอตทริบิวต์ XML หรือใช้คลาส GoogleMapOptions ดูการกำหนดค่าแผนที่สำหรับรายละเอียดเพิ่มเติม

ท่าทางสัมผัสการซูม

แผนที่ตอบสนองต่อท่าทางสัมผัสต่างๆ ที่สามารถเปลี่ยนระดับการซูมของกล้องได้ ดังนี้

  • แตะสองครั้งเพื่อเพิ่มระดับการซูมขึ้น 1 (ซูมเข้า)
  • ใช้ 2 นิ้วแตะเพื่อลดระดับการซูมลง 1 (ซูมออก)
  • ใช้ 2 นิ้วบีบ/ยืด
  • ใช้นิ้วเดียวซูมด้วยการแตะ 2 ครั้งแต่ไม่ปล่อยนิ้วเมื่อแตะครั้งที่สอง แล้วเลื่อนนิ้วขึ้นเพื่อซูมออก หรือเลื่อนลงเพื่อซูมเข้า

คุณสามารถปิดท่าทางสัมผัสการซูมได้โดยเรียกใช้ UiSettings.setZoomGesturesEnabled(boolean) สิ่งนี้จะไม่ส่งผลต่อว่าผู้ใช้ จะสามารถใช้การควบคุมการซูมเพื่อซูมเข้าและออกได้หรือไม่

ท่าทางสัมผัสการเลื่อน (เลื่อน)

ผู้ใช้สามารถเลื่อน (เลื่อน) ไปรอบๆ แผนที่โดยการลากแผนที่ด้วยนิ้วของตน คุณปิดใช้การเลื่อนได้โดยเรียกใช้ UiSettings.setScrollGesturesEnabled(boolean)

ท่าทางสัมผัสการเอียง

ผู้ใช้สามารถเอียงแผนที่โดยวางนิ้ว 2 นิ้วบนแผนที่ แล้วเลื่อนขึ้นหรือลงพร้อมกันเพื่อเพิ่มหรือลดมุมการเอียงตามลำดับ คุณปิดใช้ท่าทางสัมผัสการเอียงได้โดยโทรหา UiSettings.setTiltGesturesEnabled(boolean)

ท่าทางสัมผัสสำหรับหมุน

ผู้ใช้สามารถหมุนแผนที่โดยวางนิ้ว 2 นิ้วลงบนแผนที่และใช้การเคลื่อนที่แบบหมุน คุณปิดการหมุนได้ด้วยการโทรหา UiSettings.setRotateGesturesEnabled(boolean)