ดึงข้อมูลการเดินทาง

หากต้องการรับข้อมูลอัปเดตข้อมูลการเดินทางจาก 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 ของคุณตามนี้

  1. เปิดใช้ Pub/Sub API
  2. ไปที่หน้าหัวข้อ Pub/Sub ในคอนโซล Google Cloud
  3. คลิกสร้างหัวข้อ
  4. ป้อน navigation_connect_trip_notifications ในช่องรหัสหัวข้อ

  5. คลิกสร้าง

คอนโซลจะแสดงชื่อหัวข้อแบบเต็มเป็น 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 ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดหน้าการติดตาม
  2. เลือกการสมัครใช้บริการ แล้วคลิกแท็บข้อความ
  3. คลิกดึง

ขั้นตอนถัดไป

เมื่อเริ่มรับข้อมูลการเดินทางแล้ว ให้แยกวิเคราะห์ข้อมูลเพื่อใช้ในระบบและแอปของคุณ

จัดการข้อมูลการเดินทาง