การใช้ 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)
เข็มทิศ
แผนที่ API มีกราฟิกเข็มทิศซึ่งจะปรากฏที่มุมซ้ายบนของแผนที่ในบางสถานการณ์ เข็มทิศจะปรากฏ
ต่อเมื่อกล้องอยู่ในทิศทางที่กล้องมีทิศทางการเอียงที่ไม่ใช่ 0 หรือ
ไม่ใช่ศูนย์ เมื่อผู้ใช้คลิกที่เข็มทิศ กล้องจะเคลื่อนไหวกลับไปยังตำแหน่งที่มีทิศทางการเอียงและการเอียงเป็น 0 (การวางแนวเริ่มต้น) และเข็มทิศจะหายไปในไม่ช้าหลังจากนั้น คุณสามารถปิดใช้งานเข็มทิศ
ที่ปรากฏทั้งหมดได้โดยโทรไปที่ UiSettings.setCompassEnabled(boolean)
แต่คุณไม่สามารถบังคับให้เข็มทิศแสดงทุกครั้งได้
ปุ่มตำแหน่งของฉัน
ปุ่มตำแหน่งของฉันจะปรากฏที่มุมขวาบนของหน้าจอเฉพาะเมื่อมีการเปิดใช้งานเลเยอร์ตำแหน่งของฉัน โปรดดูรายละเอียดในคำแนะนำเกี่ยวกับข้อมูลตำแหน่ง
เครื่องมือเลือกระดับ
โดยค่าเริ่มต้น เครื่องมือเลือกระดับ (เครื่องมือเลือกชั้น) จะปรากฏใกล้กับขอบตรงกลางขวาของหน้าจอเมื่อผู้ใช้กำลังดูแผนที่ในอาคาร เมื่อมีการแสดงแผนที่ในอาคารตั้งแต่ 2 หลังขึ้นไป เครื่องมือเลือกระดับจะนำไปใช้กับอาคารที่โฟกัสอยู่ ซึ่งโดยปกติแล้วจะอยู่ที่จุดกึ่งกลางของหน้าจอที่ใกล้ที่สุด แต่ละอาคารจะมีระดับเริ่มต้นซึ่งระบบจะเลือกเมื่อแสดงเครื่องมือเลือกเป็นครั้งแรก ผู้ใช้สามารถเลือกระดับต่างๆ ได้โดยเลือกจากเครื่องมือเลือก
คุณจะปิดหรือเปิดการควบคุมเครื่องมือเลือกระดับได้โดยเรียกใช้ GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
ซึ่งจะเป็นประโยชน์หากคุณต้องการแทนที่เครื่องมือเลือกระดับเริ่มต้นด้วยของคุณเอง
แถบเครื่องมือแผนที่
โดยค่าเริ่มต้น แถบเครื่องมือจะปรากฏที่ด้านล่างขวาของแผนที่เมื่อผู้ใช้แตะที่เครื่องหมาย แถบเครื่องมือช่วยให้ผู้ใช้เข้าถึงแอป Google Maps บนอุปกรณ์เคลื่อนที่ได้อย่างรวดเร็ว
คุณเปิดและปิดใช้แถบเครื่องมือได้โดยเรียกใช้ UiSettings.setMapToolbarEnabled(boolean)
ในแผนที่ Lite-mode แถบเครื่องมือจะยังคงอยู่อย่างอิสระตามการดำเนินการของผู้ใช้ ในแผนที่โต้ตอบได้อย่างสมบูรณ์ แถบเครื่องมือจะเลื่อนเข้ามาเมื่อผู้ใช้แตะเครื่องหมาย และเลื่อนออกอีกครั้งเมื่อเครื่องหมายไม่ได้อยู่ในโฟกัสแล้ว
แถบเครื่องมือจะแสดงไอคอนสำหรับเข้าถึงมุมมองแผนที่หรือคำขอเส้นทางในแอป Google Maps บนอุปกรณ์เคลื่อนที่ เมื่อผู้ใช้แตะไอคอนบนแถบเครื่องมือ API จะสร้างความตั้งใจที่จะเปิดกิจกรรมที่เกี่ยวข้องในแอป Google Maps บนอุปกรณ์เคลื่อนที่
แถบเครื่องมือจะปรากฏที่ด้านล่างขวาของแผนที่ในภาพหน้าจอด้านบน ไอคอน Intent ศูนย์ 1 หรือทั้ง 2 ไอคอนจะปรากฏขึ้นบนแผนที่โดยขึ้นอยู่กับเนื้อหาของแผนที่ โดยมีเงื่อนไขว่าแอป Google Maps บนอุปกรณ์เคลื่อนที่นั้นรองรับ Intent ที่ทำให้เกิดผลลัพธ์ได้
ท่าทางสัมผัสสำหรับแผนที่
แผนที่ที่สร้างด้วย Maps SDK สำหรับ Android สนับสนุนท่าทางสัมผัสเดียวกันกับแอปพลิเคชัน Google Maps แต่อาจมีบางสถานการณ์ที่คุณต้องการปิดใช้ท่าทางสัมผัสบางอย่างเพื่อรักษาสถานะของแผนที่ นอกจากนี้ ยังสามารถตั้งค่าการซูม แพน เอียง และถือลูกปืนแบบเป็นโปรแกรมได้อีกด้วย ดูรายละเอียดเพิ่มเติมได้ที่กล้องและมุมมอง โปรดทราบว่าการปิดใช้ท่าทางสัมผัสไม่ได้ส่งผลต่อการเปลี่ยนตำแหน่งกล้องแบบเป็นโปรแกรม
คุณสามารถเปิด/ปิดใช้ท่าทางสัมผัสด้วยคลาส UiSettings
ซึ่งสามารถรับจาก GoogleMap
โดยเรียกใช้ GoogleMap.getUiSettings
ได้เช่นเดียวกับการควบคุม UI การเปลี่ยนแปลงที่ทำในชั้นเรียนนี้
จะแสดงบนแผนที่ทันที หากต้องการดูตัวอย่างฟีเจอร์เหล่านี้ ให้ดูกิจกรรมสาธิตการตั้งค่า UI ในแอปพลิเคชันตัวอย่าง (ดูวิธีติดตั้งที่นี่)
นอกจากนี้ คุณยังกำหนดค่าตัวเลือกเหล่านี้ได้เมื่อสร้างแผนที่ผ่านแอตทริบิวต์ XML หรือใช้คลาส GoogleMapOptions
ดูการกำหนดค่าแผนที่สำหรับรายละเอียดเพิ่มเติม
ท่าทางสัมผัสการซูม
แผนที่ตอบสนองต่อท่าทางสัมผัสต่างๆ ที่สามารถเปลี่ยนระดับการซูมของกล้องได้ ดังนี้
- แตะสองครั้งเพื่อเพิ่มระดับการซูมขึ้น 1 (ซูมเข้า)
- ใช้ 2 นิ้วแตะเพื่อลดระดับการซูมลง 1 (ซูมออก)
- ใช้ 2 นิ้วบีบ/ยืด
- ใช้นิ้วเดียวซูมด้วยการแตะ 2 ครั้งแต่ไม่ปล่อยนิ้วเมื่อแตะครั้งที่สอง แล้วเลื่อนนิ้วขึ้นเพื่อซูมออก หรือเลื่อนลงเพื่อซูมเข้า
คุณสามารถปิดท่าทางสัมผัสการซูมได้โดยเรียกใช้ UiSettings.setZoomGesturesEnabled(boolean)
สิ่งนี้จะไม่ส่งผลต่อว่าผู้ใช้
จะสามารถใช้การควบคุมการซูมเพื่อซูมเข้าและออกได้หรือไม่
ท่าทางสัมผัสการเลื่อน (เลื่อน)
ผู้ใช้สามารถเลื่อน (เลื่อน) ไปรอบๆ แผนที่โดยการลากแผนที่ด้วยนิ้วของตน
คุณปิดใช้การเลื่อนได้โดยเรียกใช้ UiSettings.setScrollGesturesEnabled(boolean)
ท่าทางสัมผัสการเอียง
ผู้ใช้สามารถเอียงแผนที่โดยวางนิ้ว 2 นิ้วบนแผนที่ แล้วเลื่อนขึ้นหรือลงพร้อมกันเพื่อเพิ่มหรือลดมุมการเอียงตามลำดับ คุณปิดใช้ท่าทางสัมผัสการเอียงได้โดยโทรหา UiSettings.setTiltGesturesEnabled(boolean)
ท่าทางสัมผัสสำหรับหมุน
ผู้ใช้สามารถหมุนแผนที่โดยวางนิ้ว 2 นิ้วลงบนแผนที่และใช้การเคลื่อนที่แบบหมุน คุณปิดการหมุนได้ด้วยการโทรหา UiSettings.setRotateGesturesEnabled(boolean)