การแก้ปัญหา

ข้อผิดพลาด

ในกรณีที่มีข้อผิดพลาด ระบบจะแสดงผลเนื้อหาการตอบกลับข้อผิดพลาดรูปแบบมาตรฐานและรหัสสถานะ HTTP จะตั้งค่าเป็นสถานะข้อผิดพลาด

การตอบกลับมีออบเจ็กต์ที่มีออบเจ็กต์ error รายการเดียวที่มีคีย์ต่อไปนี้

  • code: จะเหมือนกับสถานะ HTTP ของการตอบกลับ
  • message: คำอธิบายสั้นๆ เกี่ยวกับข้อผิดพลาด
  • status: รหัสสถานะที่ระบุลักษณะของข้อผิดพลาด

ตัวอย่างเช่น การส่งพารามิเตอร์ placeId ที่ไม่ถูกต้องจะทำให้เกิดข้อผิดพลาดต่อไปนี้

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

ข้อผิดพลาดที่อาจเป็นไปได้ ได้แก่

รหัส สถานะ ข้อความ การแก้ปัญหา
400 INVALID_ARGUMENT คีย์ที่คุณระบุไม่ถูกต้อง คีย์ API ไม่ถูกต้องหรือไม่รวมอยู่ในคำขอ โปรดตรวจสอบว่าคุณระบุคีย์ทั้งหมดและได้เปิดใช้ API สำหรับคีย์นี้แล้ว
400 INVALID_ARGUMENT พารามิเตอร์ "\"path\" มีค่าที่ไม่ถูกต้อง: ☃" คำขอของคุณมีอาร์กิวเมนต์ที่ไม่ถูกต้อง สาเหตุที่เป็นไปได้มากที่สุดของข้อผิดพลาดนี้คือ
  • เกิดปัญหากับพารามิเตอร์ path
    โปรดตรวจสอบว่าคุณมีอย่างน้อย 1 คะแนนแต่น้อยกว่า 100 คะแนน แต่ละจุดควรเป็นตัวเลขคู่โดยคั่นด้วยเครื่องหมายจุลภาค เช่น 48.409114,-123.369158 ควรคั่นจุดด้วยท่อ "|"
  • คำขอของคุณมี placeId ที่ไม่ถูกต้อง
  • คำขอของคุณมีทั้ง placeId และ path คุณระบุพารามิเตอร์เหล่านี้ได้เพียงรายการเดียวสำหรับคำขอแต่ละรายการ

ข้อผิดพลาดนี้จะไม่แสดงหากมีการส่ง placeId สำหรับถนนที่ไม่มีอยู่อีกต่อไปแล้ว หรือสถานที่ที่ไม่ใช่ถนนเส้นนั้น

403 PERMISSION_DENIED คำขอที่ไม่ได้ลงทะเบียนถูกบล็อก โปรดลงชื่อสมัครใช้ด้วย Google Developers Console คำขอถูกปฏิเสธเนื่องจากเหตุผลต่อไปนี้อย่างน้อย 1 ข้อ
  • ไม่มีคีย์ API หรือคีย์ไม่ถูกต้อง
  • ไม่ได้เปิดใช้การเรียกเก็บเงินในบัญชี
  • เกินขีดจำกัดการใช้งานที่กำหนดด้วยตนเองแล้ว
  • วิธีการชำระเงินที่ระบุจะใช้ไม่ได้อีกต่อไป (เช่น บัตรเครดิตหมดอายุ)

หากต้องการใช้ผลิตภัณฑ์ Google Maps Platform คุณต้องเปิดใช้การเรียกเก็บเงินในบัญชี และคำขอทั้งหมดต้องมีคีย์ API ที่ถูกต้อง หากต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนต่อไปนี้

404 NOT_FOUND ต้องมี HTTPS สำหรับบริการนี้ ตรวจสอบว่าคุณส่งคำขอไปยัง https://roads.googleapis.com/ ไม่ใช่ http://roads.googleapis.com/
429 RESOURCE_EXHAUSTED มีการควบคุมคำขอเนื่องจากมีจำนวนคำขอโปรเจ็กต์ถึงขีดจำกัด คุณส่งคำขอเกินขีดจำกัดที่กำหนดไว้ในคอนโซล Google Cloud Platform แล้ว โดยทั่วไป ขีดจำกัดนี้จะกำหนดเป็นคำขอต่อวัน คำขอต่อ 100 วินาที และคำขอต่อ 100 วินาทีต่อผู้ใช้ คุณควรกำหนดค่าขีดจำกัดนี้เพื่อป้องกันไม่ให้ผู้ใช้เพียงกลุ่มเดียวหรือกลุ่มเล็กๆ ใช้โควต้ารายวันจนหมด ขณะที่ยังอนุญาตให้ผู้ใช้ทั้งหมดเข้าถึงข้อมูลได้อย่างสมเหตุสมผล โปรดดูการกำหนดการใช้งาน API เพื่อกำหนดค่าขีดจำกัดเหล่านี้

Exponential Backoff

เมื่อคำขอล้มเหลว คุณควรลองส่งคำขออีกครั้งโดยใช้ Exponential Backoff ตัวอย่างเช่น หากคำขอล้มเหลว 1 ครั้ง ให้ลองอีกครั้งหลังจากผ่านไป 1 วินาที หากล้มเหลวอีกครั้ง ให้รอ 2 วินาที และลองใหม่ต่อจากนั้น ให้รอ 4 วินาที เป็นต้น วิธีนี้ช่วยให้มั่นใจได้ว่าคำขอที่ไม่สมบูรณ์หรือความล้มเหลวในวงกว้างจะไม่ท่วมเซิร์ฟเวอร์ของ Google เนื่องจากไคลเอ็นต์จำนวนมากพยายามส่งคำขออีกครั้งอย่างรวดเร็ว

คำถามที่พบบ่อยเกี่ยวกับการแก้ปัญหา

ปัญหาการติดตั้งใช้งาน

ฉันควรสุ่มตัวอย่างตำแหน่งรถของฉันที่ความถี่ใด
ขอแนะนำให้ทุกๆ 1-10 วินาทีเพื่อให้ได้ผลลัพธ์การถ่ายตามเส้นทางคุณภาพสูง
มีการจำกัดจำนวนคะแนนที่ฉันสามารถส่งได้ในการค้นหาแต่ละครั้งไหม
ได้ การค้นหามีคะแนนได้สูงสุด 100 คะแนน
ฉันควรใช้ความแม่นยำระดับใดเพื่อเก็บคู่ละติจูด/ลองจิจูดแบบสแนป
คุณควรจัดเก็บคู่ละติจูด/ลองจิจูดที่สแนปไว้ทศนิยม 7 ตำแหน่ง เพื่อให้มั่นใจว่าเส้นทางที่ตัดตามถนนทุกระดับการซูม แม้แต่ที่ระดับการซูมสูงสุด
ฉันจะใช้โพลีไลน์ที่เข้ารหัสเพื่อแสดงเส้นทางที่สแนปได้ไหม
ระบบจะระบุโพลีไลน์ที่เข้ารหัสด้วยทศนิยม 5 ตำแหน่งเท่านั้น ซึ่งจะทำให้เกิดข้อผิดพลาดประมาณ 2 เมตร โพลีไลน์ที่เข้ารหัสจึงไม่เหมาะสำหรับ หากคุณต้องการให้เส้นทางลัดเลาะไปตามถนนในระดับการซูมสูง

ปัญหาที่พบได้ทั่วไป

ไม่มีการสแนปบางจุด หรือฉันมีช่องว่างในเส้นทางที่สแนป ฉันจะแก้ไขเรื่องนี้ได้อย่างไร
  • หากคุณสุ่มตัวอย่างจุดในช่วงเวลาที่กำหนด โปรดตรวจสอบว่าคะแนนมีการเก็บตัวอย่างในช่วงเวลาที่สั้นลง (ทุกๆ 1-10 วินาที) หากใช้ช่วงเวลาที่นานขึ้น (เช่น 60 วินาที) อัลกอริทึมการสแนปไปตามถนนอาจไม่สามารถระบุถนนที่มีความแม่นยำสูงได้
  • หากคุณคลิกแผนที่เพื่อสร้างจุดด้วยตัวเอง ก็สามารถสร้างเส้นทางที่มีจุดน้อยหรือจุดน้อยๆ ได้ง่ายๆ ซึ่งอัลกอริทึมการสแนปไม่สามารถจัดการได้ดี อัลกอริทึมการสแนปจะทำงานได้ดีที่สุดกับจุดที่อยู่ใกล้กัน ลองใช้การสาธิต Snap to Roads หรือใช้เครื่องมือตรวจสอบถนนเพื่อทดสอบเส้นทาง
ทำไมทางที่ตัดกันของฉันจึงเป็นรอยหยักหรือคดเคี้ยวออกจากถนนเล็กน้อยเมื่อฉันซูมเข้า
  • คุณตัดความแม่นยำของคู่ละติจูด/ลองจิจูดก่อนที่จะแสดงหรือไม่ การจัดเก็บคู่ละติจูด/ลองจิจูดที่สแนปด้วยความแม่นยำน้อยกว่า 7 จุดจะทำให้เกิดข้อผิดพลาดในความแม่นยำเมื่อแสดงเส้นทางที่สแนปบนแผนที่
  • คุณใช้โพลีไลน์ที่เข้ารหัสหรือไม่ โพลีไลน์ที่เข้ารหัสจะตัดคู่ละติจูด/ลองจิจูดให้เหลือทศนิยม 5 ตำแหน่ง ทำให้เกิดข้อผิดพลาดหลายเมตร ทำให้เส้นหยักหรือหลุดออกจากถนนเล็กน้อยเมื่อมีระดับการซูมสูง

หากไม่ตรงกับกรณีใดๆ ข้างต้น ชิ้นส่วนแผนที่อาจได้รับการอัปเดตเมื่อเร็วๆ นี้ ทำให้ชิ้นส่วนแผนที่ไม่ตรงกับดัชนีถนนที่ใช้ในการสแนป สาเหตุอาจเกิดจากข้อความค้นหาเพียงไม่กี่รายการที่ได้รับผลกระทบ เนื่องจาก Google Maps มีการอัปเดตเป็นประจำ สิ่งนี้จึงอาจเกิดขึ้นเป็นครั้งคราวและบ่อยขึ้นหากคุณดูเส้นทางเก่าบนแผนที่เป็นประจำ (เช่น เส้นทางที่ถูกตัดทอนเมื่อหลายสัปดาห์ก่อน) เพื่อให้เห็นภาพได้ชัดเจนที่สุด คุณควรสแนปเส้นทางเก่าใหม่ก่อนที่จะแสดงบนแผนที่ เพื่อลดความคลาดเคลื่อนระหว่างชิ้นส่วนแผนที่และดัชนีถนนที่ใช้ในการสแนป

อะไรเป็นสาเหตุให้การจำกัดความเร็วของถนน X แสดงไม่ถูกต้อง
การจำกัดความเร็วมาจากแหล่งที่มาหลายแหล่งซึ่งมีความแม่นยำและความครอบคลุมที่แตกต่างกัน หากพบรูปแบบ เช่น การจำกัดความเร็วของถนนบางประเภทหรือบางพื้นที่ไม่ถูกต้องอย่างต่อเนื่อง โปรดทำตามขั้นตอนต่อไปนี้เพื่อแจ้งให้เราทราบ
  1. เปิด Google แผนที่บนคอมพิวเตอร์เดสก์ท็อปหรือแอป Google แผนที่สำหรับ Android
  2. เปิดเมนูด้านซ้าย
  3. เลือกส่งความคิดเห็น หมายเหตุ: ระบบอาจแจ้งให้คุณลงชื่อเข้าใช้
  4. เลือกแก้ไขแผนที่
  5. เลือกส่วนของถนนที่คุณต้องการแก้ไข
  6. เลือกถัดไป
  7. ในช่อง "อื่นๆ" ให้ระบุการจำกัดความเร็วของถนนเส้นนั้นไม่ถูกต้อง
  8. เลือกส่ง
คุณยังรายงานปัญหาอื่นๆ ได้ที่นี่ (เช่น หากถนนมีชื่อไม่ถูกต้อง วาดไม่ถูกต้อง ปิด หรือเป็นส่วนตัว)
ทำไมเส้นทางที่ตัดไว้ของฉันจึงถูกตัดมุมถนน แทนที่จะขับตามถนน
หากต้องการแก้ไขปัญหานี้ โปรดตรวจสอบสิ่งต่อไปนี้
  • ตรวจสอบว่าได้ตั้งค่าพารามิเตอร์ interpolate เป็น true
  • ตรวจสอบว่าจุดข้อมูลต้นฉบับได้รับการสุ่มตัวอย่างในช่วงเวลาที่ใกล้เพียงพอ (ทุก 1-10 วินาที)
ทำไมฉันจึงเห็นส่วนของถนนจำนวนมากส่งคืนมาในเส้นทางที่ตัดกับถนน ที่ไม่มีการเปลี่ยนแปลงการจำกัดความเร็ว
เมื่อตั้งค่าพารามิเตอร์ interpolate เป็น true การค้นหาแบบสแนปไปยังถนนจะแสดงผลเป็นโพลีไลน์ที่ไปตามมุมถนน ทางโค้ง และวงเวียน หากถนนคดเคี้ยว ระบบจะส่งคืนส่วนต่างๆ ของถนนแม้ว่าขีดจำกัดความเร็วจะไม่เปลี่ยน เพื่อสร้างเส้นประกอบที่ลากเส้นตามเรขาคณิตของถนน