เมื่อใช้ Maps SDK สำหรับ Android คุณจะปรับแต่งวิธีที่ผู้ใช้โต้ตอบกับแผนที่ได้โดยกำหนดคอมโพเนนต์ UI ในตัวที่จะปรากฏบนแผนที่และท่าทางสัมผัสที่อนุญาต
ตัวอย่างโค้ด
ที่เก็บ ApiDemos ใน GitHub มีตัวอย่างที่สาธิตการใช้ตัวเลือกการควบคุมและท่าทางสัมผัส ดังนี้
- UiSettingsDemoActivity: ตัวอย่าง Kotlin
- UiSettingsDemoActivity: ตัวอย่าง Java
โหมด 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)