หากต้องการรับข้อมูลอัปเดตข้อมูลการเดินทางจาก Google Maps หรือ Waze ให้กำหนดค่าแบ็กเอนด์โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
- เมธอดแบบดึงโดยใช้ Navigation Connect API หรือ
- วิธีการพุชที่ขับเคลื่อนด้วยเหตุการณ์โดยใช้ Google Cloud Pub/Sub
ตัวเลือกที่ 1: ใช้ Navigation Connect API
หากต้องการดึงข้อมูลสถานะการเดินทางล่าสุดด้วยตนเอง ให้เรียกใช้เมธอด GetTrip โดยใช้รหัสการเดินทางที่ไม่ซ้ำกัน
ตัวอย่างต่อไปนี้แสดงวิธีเรียก API จากบรรทัดคำสั่งโดยใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อให้สิทธิ์คำขอจากเซิร์ฟเวอร์ถึงเซิร์ฟเวอร์
#!/bin/bash
gcloud auth application-default login
access_token="$(gcloud auth application-default print-access-token)"
# Call the GetTrip method
curl -X GET "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips/TRIP_ID" \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json"
ปรับแต่งรูปแบบโพลีไลน์ (Waze เท่านั้น)
หากเปิดใช้การรายงานเส้นทางที่เหลือ
ในระหว่างการสร้างการเดินทาง คุณจะปรับแต่งการแสดงผลของ
เส้นประกอบของเส้นทางที่ใช้งานอยู่ซึ่งส่งคืนได้เมื่อเรียกใช้เมธอด GetTrip
หากต้องการเลือกรูปแบบสำหรับเส้นหลายเส้น ให้ใส่พารามิเตอร์ routePolylineFormat
ในคำขอ รูปแบบที่รองรับ ได้แก่
ENCODED: สตริง Polyline ที่เข้ารหัสมาตรฐาน (ทศนิยม 5 ตำแหน่ง)S2ENCODED: S2Polyline ที่เข้ารหัสGEO_JSON: รูปแบบ GeoJSON LineString
GetTripวิธี
ตัวเลือกที่ 2: ใช้ Google Cloud Pub/Sub
หากต้องการรับข้อมูลอัปเดตการเดินทางเป็นประจำ ให้สมัครใช้หัวข้อ Google Cloud Pub/Sub หลังจากที่คนขับยินยอมแล้ว Navigation Connect จะส่งข้อมูลอัปเดตไปยังหัวข้อของคุณโดยตรง
หากต้องการดูข้อมูลเบื้องต้นเกี่ยวกับการรับส่งข้อความ โปรดดูการเริ่มต้นอย่างรวดเร็วของ Pub/Sub
ส่วนต่อไปนี้จะอธิบายวิธีใช้ Google Cloud Pub/Sub เพื่อรับข้อมูล จากเซสชันการนำทางด้วย Google Maps หรือ Waze
1. สร้างหัวข้อ
สร้างหัวข้อชื่อ navigation_connect_trip_notifications ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google ของคุณตามนี้
- เปิดใช้ Pub/Sub API
- ไปที่หน้าหัวข้อ Pub/Sub ในคอนโซล Google Cloud
- คลิกสร้างหัวข้อ
ป้อน
navigation_connect_trip_notificationsในช่องรหัสหัวข้อคลิกสร้าง
คอนโซลจะแสดงชื่อหัวข้อแบบเต็มเป็น projects/project-number/topics/navigation_connect_trip_notifications โดยที่ project-number คือหมายเลขโปรเจ็กต์ที่ไม่ซ้ำกัน
2. ให้สิทธิ์เผยแพร่แก่บัญชีบริการ Navigation Connect
Google ใช้บัญชีบริการเพื่อเผยแพร่ข้อมูลอัปเดตการเดินทางไปยังหัวข้อ Google Cloud Pub/Sub
หากต้องการรับข้อมูลอัปเดตในหัวข้อ ให้ให้projects.topics.publish
สิทธิ์สำหรับหัวข้อนี้แก่บัญชีบริการต่อไปนี้
geo-navigation-connect-pubsub@system.gserviceaccount.com
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบ Pub/Sub เกี่ยวกับการควบคุมการเข้าถึง
3. ผสานรวมกับแบ็กเอนด์
หากต้องการประมวลผลการอัปเดต ให้เขียนแอปพลิเคชันฝั่งเซิร์ฟเวอร์ที่ตรวจสอบสิทธิ์และ สมัครใช้หัวข้อของคุณ ใช้ ไลบรารีของไคลเอ็นต์ Pub/Sub เพื่อการพัฒนาที่คล่องตัว สำหรับการทดสอบ คุณยังใช้ GCloud CLI และ Google Console ได้ด้วย
4. ทดสอบการสมัครใช้บริการ
ยืนยันการตั้งค่าโดยใช้ gcloud CLI หรือคอนโซล Google Cloud
gcloud CLI
ดึงข้อความจากการสมัครใช้บริการ (เช่น my-sub) โดยใช้คำสั่งต่อไปนี้
gcloud pubsub subscriptions pull my-sub --auto-ack
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ทำตามขั้นตอนต่อไปนี้
- เปิดหน้าการติดตาม
- เลือกการสมัครใช้บริการ แล้วคลิกแท็บข้อความ
- คลิกดึง
ขั้นตอนถัดไป
เมื่อเริ่มรับข้อมูลการเดินทางแล้ว ให้แยกวิเคราะห์ข้อมูลเพื่อใช้ในระบบและแอปของคุณ