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