การผสานรวมการนำทาง SDK สำหรับ Android จะทำให้แอปของคุณทำได้มากกว่าการลิงก์กับมุมมองแผนที่ภายนอก ด้วยการนำทางของ Google Maps แอปของคุณสามารถนำเสนอการดึงข้อมูลแบบไดนามิกและการรายงานข้อมูลเกี่ยวกับการเดินทางของคนขับรถแบบดูครั้งเดียว
คู่มือนี้จะนำเสนอโปรเจ็กต์ Android Studio, แสดงวิธีผสานรวม Navigation SDK และแสดงวิธีเรียกใช้แอปพลิเคชันเดโม
Navigation SDK เป็นไลบรารีแบบคงที่ที่ให้คุณควบคุมลักษณะที่ปรากฏและเสียงสำหรับการนำทางในแอป หากต้องการดูรายละเอียดเกี่ยวกับไลบรารีนี้ ให้เปิดข้อมูลอ้างอิงของ Navigation SDK (Javadoc) ในหน้าต่างแยกต่างหาก
เตรียมความพร้อม
ในการเริ่มต้นใช้งาน Navigation SDK โปรดตรวจสอบว่าคุณมีรายการต่อไปนี้
ตัวแทนของ Google Maps Platform สำหรับการเข้าถึงสิ่งต่อไปนี้
- คีย์ API ที่จัดสรรไว้สำหรับใช้กับ Navigation SDK คุณต้องระบุรหัสโปรเจ็กต์ซึ่งจะดูได้ในแดชบอร์ดหลักของคอนโซล Google Cloud ใต้ชื่อโปรเจ็กต์
- อาร์ติแฟกต์ SDK ตรวจสอบว่าได้กำหนดค่าโปรเจ็กต์เพื่อใช้ Maven สำหรับ Navigation SDK แล้ว
- สำหรับโปรเจ็กต์ที่ใช้ v4.99.0 และเวอร์ชันก่อนหน้า หากคุณใช้ Maven ไม่ได้ คุณจะดาวน์โหลดอาร์ติแฟกต์ที่เป็นไฟล์ ZIP ได้จาก Google ไดรฟ์ที่แชร์ ไฟล์ไลบรารีแบบคงที่คือ .aar ในไดเรกทอรี
libs/
ที่มี Navigation SDK เป็น แพ็กเกจ AAR - แอปสาธิตอย่างน้อย 1 รายการ
Android Studio สภาพแวดล้อมในการพัฒนาที่แนะนำสำหรับการสร้างแอปด้วย Navigation SDK
เอกสารประกอบนี้ออกแบบมาสำหรับผู้ที่คุ้นเคยกับการพัฒนา Android และแนวคิดการเขียนโปรแกรมเชิงวัตถุ คุณควรทำความคุ้นเคยกับ Google Maps จากมุมมองของผู้ใช้ด้วย
ดาวน์โหลดแอปเดโม
Google มีแอป 2 แอปที่จะช่วยให้คุณเข้าใจสิ่งที่ Navigation SDK นำเสนอนอกเหนือจาก Google Maps API ทั้งนี้ขึ้นอยู่กับระดับประสบการณ์การใช้งานของคุณ นักพัฒนาซอฟต์แวร์ที่คุ้นเคยกับ Google Maps API สามารถมุ่งความสนใจไปที่การสาธิต GoogleNavigation นักพัฒนาซอฟต์แวร์ที่ไม่คุ้นเคยกับทั้ง 2 โปรเจ็กต์ จะพบว่าทั้ง 2 แอปมีประโยชน์
ใน Navigation SDK สำหรับ Android v4.1 แอปเดโมต่อไปนี้จะมีให้ใช้งานใน Google ไดรฟ์ที่แชร์ให้ดาวน์โหลด
การสาธิต GoogleNavigation: แสดงการผสานรวมการทำงานของ API และมุมมองที่เกี่ยวข้องกับประสบการณ์ของผู้ใช้ขณะอยู่ในเซสชันการนำทางที่มีคำแนะนำ
การสาธิต GoogleMap: แสดงลักษณะการทำงานของแต่ละอินเทอร์เฟซ
GoogleMap
เพื่อปรับแต่งรูปลักษณ์และการนำเสนอแผนที่
หมายเหตุเกี่ยวกับการใช้ Maven
แอปเดโมจะได้รับการกำหนดค่าให้ดาวน์โหลดอาร์ติแฟกต์ SDK จากที่เก็บ Maven ระยะไกลโดยใช้ปลั๊กอิน Artifact Registry ใน Gradle อย่าลืมทำตามวิธีการกำหนดค่าโปรเจ็กต์เพื่อเข้าถึง SDK
การสาธิต GoogleNavigation
การสาธิต GoogleNavigation ล่าสุดจะอยู่ที่รูทของ Google ไดรฟ์ที่แชร์ แอปเวอร์ชันก่อนหน้าจะอยู่ใน "ที่เก็บถาวร" สำหรับเวอร์ชันก่อนหน้า 4.1 แอปจะรวมอยู่กับ AAR ในไฟล์ ZIP เดียวกัน
สร้าง
ใน Android Studio ให้นำเข้าแอปเดโมและอนุญาตให้ Gradle ทำงานได้
เปิด
local.defaults.properties
และอัปเดตค่าของพร็อพเพอร์ตี้MAPS_API_KEY
MAPS_API_KEY=YOUR_API_KEY
คลิกสร้างและตรวจสอบรายละเอียดการใช้งาน SDK
ในคลาส Java ให้จดโค้ดการใช้งาน
ใน XML ของเลย์เอาต์ ให้ดูการออกแบบเลย์เอาต์และข้อความ
ในไฟล์
build.gradle
ให้สังเกต SDK ในทรัพยากร Dependency
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีเพิ่มคีย์ API ในไฟล์ Manifest ได้ในเอกสารประกอบปลั๊กอิน Secrets Gradle
กำลังวิ่ง
เชื่อมต่ออุปกรณ์ Android กับคอมพิวเตอร์หรือใช้โปรแกรมจำลอง
- อุปกรณ์ Android - ดูinstructionsเปิดใช้ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ในอุปกรณ์ Android และกำหนดค่าระบบให้ตรวจหาอุปกรณ์ดังกล่าว
- โปรแกรมจำลองmdash;ใช้เครื่องมือจัดการอุปกรณ์เสมือน (AVD) ของ Android เพื่อกำหนดค่าอุปกรณ์เสมือน เมื่อเลือกโปรแกรมจำลอง โปรดตรวจสอบว่าคุณได้เลือก รูปภาพที่มี Google APIs
ใน Android Studio ให้คลิกตัวเลือกเมนูเรียกใช้ (หรือไอคอนปุ่มเล่น) แล้วเลือกเป้าหมายการทำให้ใช้งานได้
เมื่อสร้างและเปิดตัวแล้ว แอปจะแสดงหน้า Landing Page ของรายการตัวเลือกแก่ผู้ใช้
ตัวเลือก NavViewActivity และ NavFragmentActivity
ผู้ที่หันมาใช้ NavSDK รายใหม่น่าจะพบว่า 2 ตัวเลือกนี้เป็นประโยชน์มากที่สุด
ตัวเลือกที่ 1: NavViewActivity
แสดงลักษณะการทำงานโดยใช้ NavigationView
ร่วมกับ Navigator
ตัวเลือกที่ 2: ตัวเลือกที่ 2 ชื่อว่า NavFragmentActivity
แสดงลักษณะการทำงานโดยใช้ SupportNavigationFragment
ควบคู่ไปกับ Navigator
เมื่อคุณคลิกตัวเลือกใดตัวเลือกหนึ่ง คุณจะเห็นตัวเลือกต่อไปนี้
- UI การนำทาง
- ปุ่ม "กำหนดปลายทาง" ในเมนูของแอป
- การวางซ้อนที่คุณสามารถโต้ตอบด้วยเพื่อเรียกใช้เมธอดบน API แบบไดนามิก
- เมนูรายการเพิ่มเติมที่มีตัวเลือกเพิ่มเติม
หากต้องการเริ่มต้น ให้คลิกตั้งค่าปลายทาง และเลือกที่อยู่ จากนั้นแอปจะจำลองการเดินทางจากตำแหน่งปัจจุบันไปยังที่อยู่ดังกล่าว ใช้การวางซ้อนของแผงควบคุม เพื่อดูว่าจะเกิดอะไรขึ้นเมื่อคุณเรียกใช้ API ตัวอย่างเช่น คุณสามารถคลิกดูวิธีการเพื่อลองบังคับให้ SDK อยู่ในโหมดกลางคืนเพื่อดูหน้าตาของ SDK
ตัวเลือก SwappingMapAndNavActivity
SwappingMapAndNavActivity
จะแสดงรูปแบบที่พบบ่อยดังต่อไปนี้
- กำลังแสดง
MapView
- เปลี่ยนเป็น
NavigationView
เมื่อเริ่มการนำทาง - กลับไปที่
MapView
เมื่อการนำทางสิ้นสุด
การสาธิต GoogleMap
การสาธิต GoogleNavigation ล่าสุดจะอยู่ที่รูทของ Google ไดรฟ์ที่แชร์ แอปเวอร์ชันก่อนหน้าจะอยู่ใน "ที่เก็บถาวร"
สร้าง
ใน Android Studio ให้นำเข้าแอปเดโมและอนุญาตให้ Gradle ทำงานได้
เปิด
local.defaults.properties
และอัปเดตค่าของพร็อพเพอร์ตี้MAPS_API_KEY
MAPS_API_KEY=YOUR_API_KEY
คลิกสร้างและตรวจสอบรายละเอียดการใช้งาน SDK
ในคลาส Java ให้จดโค้ดการใช้งาน
ใน XML ของเลย์เอาต์ ให้ดูการออกแบบเลย์เอาต์และข้อความ
ในไฟล์
build.gradle
ให้สังเกต SDK ในทรัพยากร Dependency
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีเพิ่มคีย์ API ไปยังไฟล์ Manifest ได้ที่ปลั๊กอินข้อมูลลับ Gradle
กำลังวิ่ง
เชื่อมต่ออุปกรณ์ Android กับคอมพิวเตอร์หรือใช้โปรแกรมจำลอง
- อุปกรณ์ Android โปรดดูinstructionsเพื่อเปิดใช้ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ในอุปกรณ์ Android และกำหนดค่าระบบให้ตรวจหาอุปกรณ์ดังกล่าว
- โปรแกรมจำลอง ใช้เครื่องมือจัดการอุปกรณ์เสมือน (AVD) สำหรับ Android เพื่อกำหนดค่าอุปกรณ์เสมือน เมื่อเลือกโปรแกรมจำลอง โปรดตรวจสอบว่าคุณได้เลือก รูปภาพที่มี Google APIs
ใน Android Studio ให้คลิกตัวเลือกเมนูเรียกใช้ (หรือไอคอนปุ่มเล่น) แล้วเลือกเป้าหมายการทำให้ใช้งานได้
เมื่อสร้างและเปิดตัวแล้ว แอปจะแสดงหน้า Landing Page ของรายการสาธิตให้ผู้ใช้เห็น
รูปแบบการนำเสนอนี้และโครงสร้างที่เกี่ยวข้องของซอร์สโค้ดนี้ควรมีความคุ้นเคยกับผู้ใช้การสาธิต Google Maps SDK ทั้งนี้เนื่องจากการสาธิต GoogleMap ได้รับการออกแบบให้คล้ายกับแอปเดโม Maps API ความแตกต่างหลักคือการสาธิต SDK การนำทางให้ผู้ใช้เลือกคลาสการดูที่ต้องการทดสอบการใช้งานเดโม: NavigationView
หรือ MapView
ตามความเหมาะสม
โดยทั่วไป Google จะสนับสนุนให้ผู้ใช้หันมาใช้NavigationView
การสาธิตนี้มีความยืดหยุ่นในการลองใช้พฤติกรรมเหล่านี้กับทั้ง 2 เวอร์ชันในแอปเดโมของเรา และเลือกเล่นตามใจชอบ เช่น อาจจำเป็นต้องใช้ MapView
ในสถานการณ์ที่กำลังใช้ไลบรารีของบุคคลที่สามซึ่งคาดว่าจะโต้ตอบกับคลาสนั้น