ข้อผิดพลาด
ในกรณีที่เกิดข้อผิดพลาด ระบบจะแสดงเนื้อหาการตอบกลับข้อผิดพลาดในรูปแบบมาตรฐานและตั้งค่ารหัสสถานะ 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\" มีค่าที่ไม่ถูกต้อง: ☃" | คำขอของคุณมีอาร์กิวเมนต์ที่ไม่ถูกต้อง สาเหตุที่เป็นไปได้มากที่สุดของข้อผิดพลาดนี้คือ
ระบบจะไม่แสดงข้อผิดพลาดนี้หากมีการส่ง |
403 | PERMISSION_DENIED |
ระบบบล็อกคำขอที่ไม่ได้ลงทะเบียน โปรดลงชื่อสมัครใช้โดยใช้ Google Developers Console | คำขอถูกปฏิเสธด้วยเหตุผลอย่างน้อย 1 ข้อต่อไปนี้
หากต้องการใช้ผลิตภัณฑ์ 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 วินาที) อัลกอริทึมการจับคู่กับถนนอาจไม่สามารถระบุถนนที่เดินทางได้อย่างแม่นยำเพียงพอ
- หากคุณคลิกแผนที่ด้วยตนเองเพื่อสร้างจุด คุณสามารถสร้างเส้นทางที่มีจุดน้อยหรือจุดกระจัดกระจายซึ่งอัลกอริทึมการจับคู่ไม่จัดการได้ดี อัลกอริทึมการจับคู่จะทำงานได้ดีที่สุดกับจุดที่อยู่ใกล้กัน ลองใช้การปักหมุดตามเดโมถนน หรือใช้ผู้ตรวจสอบถนนเพื่อทดสอบเส้นทาง
- เหตุใดเส้นทางที่ปักหมุดจึงขรุขระหรืออยู่ห่างจากถนนเล็กน้อยเมื่อฉันซูมเข้า
-
- คุณตัดความแม่นยำของคู่ละติจูด/ลองจิจูดที่ปักหมุดไว้ก่อนที่จะแสดงหรือไม่ การจัดเก็บคู่ละติจูด/ลองจิจูดที่ปักหมุดไว้ด้วยความแม่นยำน้อยกว่า 7 ทศนิยมจะทำให้เกิดข้อผิดพลาดด้านความแม่นยำเมื่อแสดงเส้นทางที่ปักหมุดไว้บนแผนที่
- คุณใช้เส้นประกอบที่เข้ารหัสอยู่หรือไม่ เส้นประกอบที่เข้ารหัสจะตัดคู่ละติจูด/ลองจิจูดให้เหลือทศนิยม 5 ตำแหน่ง ซึ่งทำให้เกิดข้อผิดพลาดหลายเมตร ส่งผลให้เส้นขรุขระหรือเบี่ยงออกจากถนนเล็กน้อยเมื่อซูมระดับสูง
หากไม่ใช่กรณีข้างต้น แสดงว่าอาจมีอัปเดตไทล์แผนที่เมื่อเร็วๆ นี้ ทำให้ไทล์แผนที่ไม่ซิงค์กับดัชนีถนนที่ใช้สำหรับการจับคู่ หากมีเพียงคำค้นหาไม่กี่รายการที่ได้รับผลกระทบ ปัญหานี้อาจเป็นสาเหตุ เนื่องจาก Google Maps มีการอัปเดตเป็นประจำ ปัญหานี้จึงอาจเกิดขึ้นเป็นครั้งคราว และอาจเกิดขึ้นบ่อยขึ้นหากคุณดูเส้นทางเก่าในแผนที่เป็นประจำ (เช่น เส้นทางที่บันทึกไว้เมื่อหลายสัปดาห์ก่อน) คุณควรจัดตำแหน่งเส้นทางเก่าอีกครั้งก่อนแสดงบนแผนที่เพื่อให้ภาพแสดงผลได้ดีที่สุด เพื่อลดความไม่สอดคล้องกันระหว่างไทล์แผนที่กับดัชนีถนนที่ใช้จัดตำแหน่ง
- อะไรอาจทําให้ป้ายกํากับความเร็วของถนน X แสดงอย่างไม่ถูกต้อง
- ขีดจำกัดความเร็วมาจากแหล่งที่มาหลายแห่งที่มีความแม่นยำและความครอบคลุมแตกต่างกัน
หากพบรูปแบบ เช่น ขีดจำกัดความเร็วของถนนบางประเภทหรือในบางพื้นที่ไม่ถูกต้องอยู่เสมอ โปรดทำตามขั้นตอนต่อไปนี้เพื่อแจ้งให้เราทราบ
- เปิด Google Maps บนคอมพิวเตอร์เดสก์ท็อปหรือแอป Google Maps สำหรับ Android
- เปิดเมนูด้านซ้าย
- เลือกส่งความคิดเห็น หมายเหตุ: ระบบอาจแจ้งให้คุณเข้าสู่ระบบ
- เลือกแก้ไขแผนที่
- เลือกส่วนของถนนที่ต้องการแก้ไข
- เลือกถัดไป
- ในช่อง "อื่นๆ" ให้ระบุว่าการจำกัดความเร็วของถนนนั้นไม่ถูกต้อง
- เลือกส่ง
- เหตุใดเส้นทางที่ปักหมุดจึงตัดมุมแทนที่จะไปตามถนน
-
หากต้องการแก้ไขปัญหานี้ ให้ตรวจสอบสิ่งต่อไปนี้
- ตรวจสอบว่าได้ตั้งค่าพารามิเตอร์
interpolate
เป็นtrue
- ตรวจสอบว่าจุดข้อมูลเดิมได้รับการสุ่มตัวอย่างเป็นระยะที่ใกล้เคียงกันพอ (ทุก 1-10 วินาที)
- ตรวจสอบว่าได้ตั้งค่าพารามิเตอร์
- เหตุใดฉันจึงเห็นส่วนของถนนจำนวนมากแสดงในเส้นทางที่ปักหมุดไว้สำหรับถนนที่ไม่มีการเปลี่ยนแปลงขีดจำกัดความเร็ว
- เมื่อตั้งค่าพารามิเตอร์
interpolate
เป็นtrue
การค้นหาแบบปักหมุดตามถนนจะแสดงผลเส้นประกอบที่ไปตามถนนที่โค้งมน โค้ง และวงเวียน หากถนนโค้ง ระบบจะแสดงส่วนของถนนหลายส่วนแม้ว่าขีดจำกัดความเร็วจะไม่เปลี่ยนแปลงก็ตาม เพื่อสร้างเส้นประกอบที่สอดคล้องกับเรขาคณิตของถนนอย่างใกล้ชิด