การแก้ปัญหา

ข้อผิดพลาด

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

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

403 PERMISSION_DENIED บล็อกคำขอที่ไม่ได้ลงทะเบียนแล้ว โปรดลงชื่อสมัครใช้โดยใช้ Google Developers คอนโซล คำขอถูกปฏิเสธเนื่องจากเหตุผลอย่างน้อยหนึ่งข้อต่อไปนี้:
  • คีย์ 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 วินาทีต่อผู้ใช้ ขีดจำกัดนี้ควรกำหนดค่าเพื่อป้องกันไม่ให้กลุ่ม ไม่ให้ผู้ใช้ใช้โควต้ารายวันของคุณจนหมด แต่ยังคงให้ การเข้าถึงผู้ใช้ทุกคน โปรดดูการใช้ Capping API เพื่อกำหนดค่าขีดจำกัดเหล่านี้

Exponential Backoff

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

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

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

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

ปัญหาทั่วไป

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

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

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