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

เลือกแพลตฟอร์ม 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 แต่ละตัวมีตำแหน่งที่กำหนดไว้ล่วงหน้าซึ่งสัมพันธ์กับขอบของแผนที่ คุณสามารถย้ายตัวควบคุมออกจากขอบบน ล่าง ซ้าย หรือขวาได้โดยเพิ่มpaddingให้กับออบเจ็กต์ GoogleMap

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

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

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

เข็มทิศ

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

เข็มทิศ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ท่าทางสัมผัสเพื่อซูม

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

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

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

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

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

ท่าทางเอียง

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

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

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