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

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

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

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

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

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

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

ท่าทางสัมผัสเพื่อหมุน

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