الأخطاء
في حال حدوث خطأ، سيتم عرض نص استجابة خطأ بتنسيق عادي وسيتم ضبط رمز حالة HTTP على حالة خطأ.
تحتوي الاستجابة على عنصر يتضمّن عنصر error واحدًا مع المفاتيح التالية:
code: يتطابق هذا مع حالة HTTP للاستجابة.message: وصف موجز للخطأ-
status: رمز حالة يشير إلى طبيعة الخطأ.
على سبيل المثال، سيؤدي إرسال مَعلمة placeId غير صالحة إلى عرض الخطأ التالي:
{ "error": { "code": 400, "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"", "status": "INVALID_ARGUMENT" } }
وتتضمن الأخطاء المحتملة ما يلي:
| الرمز | الحالة | رسالة | تحديد المشاكل وحلّها |
|---|---|---|---|
| 400 | INVALID_ARGUMENT |
المفتاح الذي قدّمته غير صالح. | مفتاح واجهة برمجة التطبيقات غير صالح أو لم يتم تضمينه في الطلب. يُرجى التأكّد من تضمين المفتاح بالكامل ومن أنّك فعّلت واجهة برمجة التطبيقات لهذا المفتاح. |
| 400 | INVALID_ARGUMENT |
تحتوي المَعلمة "path" على قيمة غير صالحة: ☃" | تضمّن طلبك وسيطات غير صالحة. في ما يلي الأسباب الأكثر احتمالاً لحدوث هذا الخطأ:
لن يتم عرض هذا الخطأ إذا تم تمرير |
| 403 | PERMISSION_DENIED |
تم حظر الطلب غير المسجّل. يُرجى الاشتراك باستخدام Google Developers Console. | تم رفض الطلب لسبب أو أكثر من الأسباب التالية:
لاستخدام منتجات "منصة خرائط Google"، يجب تفعيل الفوترة في حسابك، ويجب أن تتضمّن جميع الطلبات مفتاح API صالحًا. لحلّ هذه المشكلة، اتّبِع الخطوات التالية:
|
| 404 | NOT_FOUND |
يجب استخدام بروتوكول HTTPS لهذه الخدمة. | تأكَّد من أنّك ترسل الطلبات إلى
https://roads.googleapis.com/ وليس إلى
http://roads.googleapis.com/. |
| 429 | RESOURCE_EXHAUSTED |
تم تقييد الطلب بسبب بلوغ الحد الأقصى لعدد الطلبات المسموح بها للمشروع. | لقد تجاوزت الحدّ الأقصى لعدد الطلبات الذي ضبطته في Google Cloud Platform Console. يتم عادةً ضبط هذا الحدّ على عدد الطلبات في اليوم، وعدد الطلبات كل 100 ثانية، وعدد الطلبات كل 100 ثانية لكل مستخدم. يجب ضبط هذا الحدّ لمنع مستخدم واحد أو مجموعة صغيرة من المستخدمين من استنفاد حصتك اليومية، مع السماح لجميع المستخدمين بالوصول إلى الموارد بشكل معقول. راجِع الحدّ من استخدام واجهة برمجة التطبيقات لضبط هذه الحدود. |
الرقود الأسي الثنائي
عندما تتعذّر الطلبات، عليك التأكّد من إعادة محاولة الطلبات باستخدام خوارزمية الرقود الأسي الثنائي. على سبيل المثال، إذا تعذّر تنفيذ طلب مرة واحدة، أعِد المحاولة بعد ثانية واحدة، وإذا تعذّر مرة أخرى، أعِد المحاولة بعد ثانيتين، ثم أربع ثوانٍ، وهكذا. يضمن ذلك عدم إغراق خوادم Google بالطلبات المعطّلة أو حالات الفشل الواسعة النطاق، لأنّ العديد من العملاء يحاولون إعادة إرسال الطلبات بسرعة كبيرة.
الأسئلة الشائعة حول تحديد المشاكل وحلّها
مشاكل التنفيذ
- ما هو معدّل تكرار أخذ عيّنات من الموقع الجغرافي لمركبتي؟
- ننصحك بضبط الفاصل الزمني على قيمة تتراوح بين ثانية واحدة و10 ثوانٍ للحصول على نتائج عالية الجودة من ميزة "محاذاة المسار".
- هل هناك حدّ أقصى لعدد النقاط التي يمكنني إرسالها لكل طلب بحث؟
- نعم، يمكن أن يتضمّن طلب البحث 100 نقطة كحدّ أقصى.
- ما هو مستوى الدقة الذي يجب استخدامه لتخزين أزواج خطوط الطول والعرض التي تم التقاطها؟
- لضمان اتّباع المسارات المُحاذية للطرق في جميع مستويات التكبير، حتى في أقصى مستوى تكبير، يجب تخزين أزواج خطوط العرض/الطول المُحاذية بدقة تصل إلى 7 منازل عشرية.
- هل يمكنني استخدام خطوط متعدّدة الأضلاع مرمّزة لعرض المسارات المحاذية؟
- لا يتم تحديد الخطوط المتعدّدة المرمّزة إلا بدقة تصل إلى 5 منازل عشرية، ما يؤدي إلى حدوث خطأ يبلغ مترَين تقريبًا. وبالتالي، لا تكون الخطوط المتعددة المرمّزة مناسبة إذا كنت تريد أن تتبع المسارات المحاذية الطريق عند مستويات تكبير عالية.
المشاكل الشائعة
- لا يتم محاذاة بعض النقاط، أو تظهر فجوات في المسارات التي تمت محاذاتها. كيف يمكنني تصحيح ذلك؟
-
- إذا كنت تأخذ عيّنات من نقاطك على فترات زمنية محدّدة، تأكَّد من أخذ العيّنات على فترات أقصر (كل ثانية إلى 10 ثوانٍ). في حال استخدام فاصل زمني أطول (مثل 60 ثانية)، قد لا يتمكّن خوارزمية "المحاذاة مع الطريق" من تحديد الطرق التي تم سلوكها بدقة كافية.
- إذا كنت تنقر يدويًا على خريطة لإنشاء نقاط، من السهل جدًا إنشاء مسارات تتضمّن عددًا قليلاً من النقاط أو نقاطًا متباعدة لا تتعامل معها خوارزمية المحاذاة بشكل جيد. تعمل خوارزمية المحاذاة بشكل أفضل مع النقاط القريبة من بعضها البعض. جرِّب النسخة التجريبية من Snap to Roads أو استخدِم Roads inspector لاختبار مساراتك.
- لماذا تظهر المسارات التي تم التقاطها متعرجة أو بعيدة قليلاً عن الطريق عند التكبير؟
-
- هل يتم اقتطاع دقة أزواج خطوط الطول والعرض التي تم التقاطها قبل عرضها؟ يؤدي تخزين أزواج خطوط الطول والعرض المحاذية بدقة أقل من 7 منازل عشرية إلى حدوث أخطاء في الدقة عند عرض المسار المحاذي على الخريطة.
- هل تستخدم خطوطًا متعدّدة مرمّزة؟ تؤدي خطوط المضلّعات المرمّزة إلى اقتطاع أزواج خطوط الطول والعرض إلى 5 منازل عشرية، ما يؤدي إلى حدوث خطأ بعدة أمتار، وينتج عن ذلك خطوط متقطّعة أو منحرفة قليلاً عن الطريق عند مستويات تكبير عالية.
إذا لم يكن أيّ من الأمرين أعلاه صحيحًا، قد يكون تم تعديل مربّعات الخريطة مؤخرًا، ما أدّى إلى عدم تزامنها مع فهرس الطرق المستخدَم في المحاذاة. إذا تأثرت بعض طلبات البحث فقط، من المرجّح أن يكون هذا هو السبب. بما أنّ "خرائط Google" يتم تعديلها بانتظام، قد يحدث ذلك أحيانًا، وقد يتكرّر حدوثه إذا كنت تنظر بانتظام إلى مسارات قديمة على الخريطة (على سبيل المثال، مسارات تم التقاطها قبل عدة أسابيع). للحصول على أفضل عرض مرئي، عليك إعادة محاذاة المسارات القديمة قبل عرضها على الخريطة مباشرةً، وذلك لتقليل التناقضات بين مربّعات الخريطة وفهرس الطرق المستخدَم في المحاذاة.
- ما الأسباب التي يمكن أن تؤدي إلى عرض حد السرعة للطريق X بشكل غير صحيح؟
- تتوفّر حدود السرعة من عدة مصادر تختلف من حيث الدقة والتغطية.
إذا رصدت نمطًا، مثل حدود السرعة غير الصحيحة باستمرار لنوع معيّن من الطرق أو في منطقة معيّنة، يُرجى اتّخاذ الخطوات التالية لإعلامنا بذلك:
- افتح "خرائط Google" على الكمبيوتر المكتبي أو تطبيق "خرائط Google" على جهاز Android.
- افتح القائمة الجانبية اليمنى.
- انقر على إرسال الملاحظات. ملاحظة: قد يُطلب منك تسجيل الدخول.
- انقر على تعديل الخريطة.
- اختَر جزء الطريق الذي تريد تعديله.
- اختَر التالي.
- في حقل "غير ذلك"، أشِر إلى أنّ الحدّ الأقصى للسرعة غير صحيح لهذا الطريق.
- انقر على إرسال.
- لماذا يختصر المسار الذي تم التقاطه المسافات بدلاً من اتّباع الطريق؟
-
لحلّ هذه المشكلة، يُرجى التحقّق مما يلي:
- تأكَّد من ضبط المَعلمة
interpolateعلىtrue. - تأكَّد من أخذ عيّنات من نقاط البيانات الأصلية بفواصل زمنية قريبة بما يكفي (كل ثانية إلى 10 ثوانٍ).
- تأكَّد من ضبط المَعلمة
- لماذا يتم عرض الكثير من مقاطع الطرق في المسار المحاذي لطريق لا تتغير فيه حدود السرعة؟
- عند ضبط المَعلمة
interpolateعلىtrue، يعرض طلب "المحاذاة مع الطريق" خطًا متعدّد الأضلاع يتبع الطريق حول الزوايا والمنحنيات والدوّارات. إذا كان الطريق منحنياً، يتم عرض عدة أجزاء من الطريق حتى إذا لم تتغيّر حدود السرعة، وذلك لإنشاء خط متعدد الأضلاع يتبع شكل الطريق الهندسي بدقة.