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

เลือกแพลตฟอร์ม: 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 (การวางแนวเริ่มต้น) และเข็มทิศจะจางหายไปหลังจากนั้นไม่นาน คุณสามารถปิดใช้งานไม่ให้เข็มทิศปรากฏขึ้นโดยเรียก 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 ระดับ (ซูมเข้า)
  • แตะสองครั้งเพื่อลดระดับการซูมลง 1 ระดับ (ซูมออก)
  • บีบ/กางนิ้ว 2 นิ้ว
  • การซูมด้วยนิ้วเดียวโดยการแตะสองครั้งแต่ไม่ปล่อยนิ้วในการแตะครั้งที่ 2 จากนั้นเลื่อนนิ้วขึ้นเพื่อซูมออก หรือเลื่อนลงเพื่อซูมเข้า

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

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

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

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

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

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

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