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

เลือกแพลตฟอร์ม 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)

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

เข็มทิศ

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

เข็มทิศ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

แถบเครื่องมือจะปรากฏที่ด้านขวาล่างของแผนที่ในภาพหน้าจอด้านบน ไอคอน Intent อาจปรากฏบนแผนที่ 0, 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)