การแก้ปัญหา

ข้อผิดพลาด

ในกรณีที่เกิดข้อผิดพลาด ระบบจะแสดงผลเนื้อหาการตอบกลับข้อผิดพลาดรูปแบบมาตรฐาน และรหัสสถานะ 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 ระบุพารามิเตอร์ได้เพียง 1 รายการสำหรับแต่ละคำขอ

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