تحديد المشاكل وحلّها

الأخطاء

في حال حدوث خطأ، سيتم عرض نص استجابة خطأ بتنسيق عادي، وسيتم ضبط رمز حالة 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" على قيمة غير صالحة: ☃ كان طلبك يحتوي على وسيطات غير صالحة. في ما يلي الأسباب الأكثر احتمالاً لحدوث هذا الخطأ:
  • حدثت مشكلة في المَعلمة path.
    يُرجى التأكّد من توفّر نقطة واحدة على الأقل وأقل من 100 نقطة. يجب أن تكون كل نقطة عبارة عن زوج من الأرقام مفصول بفاصلة، مثل: 48.409114,-123.369158. يجب الفصل بين النقاط باستخدام خط عمودي: '|'.
  • تضمّن طلبك placeId غير صالح.
  • تضمّن طلبك كلاً من placeId وpath. يمكن تحديد إحدى هاتين المَعلمتَين فقط لكل طلب.

لن يتم عرض هذا الخطأ إذا تم تمرير placeId لطريق لم يعُد موجودًا أو لمكان ليس طريقًا.

403 PERMISSION_DENIED تم حظر الطلب غير المسجّل. يُرجى الاشتراك باستخدام Google Developers Console. تم رفض الطلب لسبب واحد أو أكثر من الأسباب التالية:
  • مفتاح واجهة برمجة التطبيقات غير متوفّر أو غير صالح.
  • لم يتم تفعيل الفوترة في حسابك.
  • تم تجاوز الحد الأقصى للاستخدام الذي تم فرضه ذاتيًا.
  • لم تعُد طريقة الدفع المقدَّمة صالحة (على سبيل المثال، انتهت صلاحية بطاقة ائتمان).

لاستخدام منتجات "منصّة خرائط Google"، يجب تفعيل الفوترة في حسابك، ويجب أن تتضمّن جميع الطلبات مفتاح واجهة برمجة تطبيقات صالحًا. لحلّ هذه المشكلة، اتّبِع الخطوات التالية:

404 NOT_FOUND يجب استخدام HTTPS لهذه الخدمة. تأكَّد من إرسال الطلبات إلى https://roads.googleapis.com/ وليس إلى http://roads.googleapis.com/.
429 RESOURCE_EXHAUSTED تم تقييد الطلب بسبب الوصول إلى الحدود القصوى لطلبات المشروع. لقد تجاوزت الحد الأقصى لعدد الطلبات الذي ضبطته في Google Cloud Platform Console. يتم عادةً ضبط هذا الحد كطلبات في اليوم، وطلبات كل 100 ثانية، وطلبات كل 100 ثانية لكل مستخدم. يجب ضبط هذا الحدّ لمنع مستخدم واحد أو مجموعة صغيرة من المستخدمين من استنفاد الحصة اليومية، مع السماح في الوقت نفسه لجميع المستخدمين بالوصول بشكل معقول. راجِع استخدام واجهة برمجة التطبيقات Capping API لضبط هذه الحدود.

الرقود الأسي الثنائي

عندما تفشل الطلبات، عليك التأكّد من إعادة محاولة الطلبات باستخدام خوارزمية الرقود الأسي الثنائي. على سبيل المثال، إذا تعذّر تنفيذ طلب مرة واحدة، أعِد المحاولة بعد ثانية واحدة، وإذا تعذّر تنفيذه مرة أخرى، أعِد المحاولة بعد ثانيتين، ثم أربع ثوانٍ، وهكذا. يضمن ذلك عدم إغراق خوادم Google بالطلبات المعطّلة أو حالات الفشل الواسعة النطاق، لأنّ العديد من البرامج تحاول إعادة إرسال الطلبات بسرعة كبيرة.

الأسئلة الشائعة حول تحديد المشاكل وحلّها

مشاكل التنفيذ

ما هو معدّل تكرار أخذ عيّنات من موقع المركبة؟
يُنصح بتحديد فاصل زمني يتراوح بين ثانية واحدة و10 ثوانٍ للحصول على نتائج عالية الجودة في ميزة "المحاذاة مع الطريق".
هل هناك حدّ أقصى لعدد النقاط التي يمكنني إرسالها لكل طلب بحث؟
نعم، يمكن أن تتضمّن طلب البحث 100 نقطة كحدّ أقصى.
ما هو مستوى الدقة الذي يجب استخدامه لتخزين أزواج خطوط الطول والعرض التي تم التقاطها؟
لضمان أن تتبع المسارات المحاذية للطرق الطرق على جميع مستويات التكبير/التصغير، حتى عند مستوى التكبير/التصغير الأقصى، يجب تخزين أزواج خطوط الطول والعرض المحاذية للطرق بدقة 7 خانات عشرية.
هل يمكنني استخدام خطوط متعدّدة الأضلاع مرمّزة لعرض المسارات المحاذية؟
يتم تحديد الخطوط المتعددة المرمّزة بدقة تصل إلى 5 منازل عشرية فقط، ما يؤدي إلى حدوث خطأ يبلغ حوالي مترَين. وبالتالي، لا تكون الخطوط المتعددة المرمّزة مناسبة إذا كنت تريد أن تتبع المسارات المحاذية الطريق عند مستويات تكبير عالية.

المشاكل الشائعة

لا يتم محاذاة بعض النقاط، أو لديّ فجوات في المسارات المحاذية. كيف يمكنني تصحيح ذلك؟
  • إذا كنت تأخذ عيّنات من نقاطك على فترات زمنية محدّدة، تأكَّد من أخذ العيّنات على فترات أقصر (كل ثانية إلى 10 ثوانٍ). في حال استخدام فاصل زمني أطول (مثل 60 ثانية)، قد لا يتمكّن خوارزمية "المحاذاة مع الطريق" من تحديد الطرق التي تم سلوكها بدقة كافية.
  • إذا كنت تنقر يدويًا على خريطة لإنشاء نقاط، من السهل جدًا إنشاء مسارات تتضمّن عددًا قليلاً من النقاط أو نقاطًا متفرّقة لا تتعامل معها خوارزمية المحاذاة بشكل جيد. تعمل خوارزمية المحاذاة بشكل أفضل مع النقاط المتقاربة. جرِّب العرض التوضيحي "المحاذاة مع الطرق" أو استخدِم أداة فحص الطرق لاختبار مساراتك.
لماذا تكون المسارات المحاذية متقطّعة أو منحرفة قليلاً عن الطريق عند التكبير؟
  • هل يتم اقتطاع دقة أزواج خطوط الطول والعرض التي تم التقاطها قبل عرضها؟ يؤدي تخزين أزواج خطوط الطول والعرض المحاذية بدقة أقل من 7 خانات عشرية إلى حدوث أخطاء في الدقة عند عرض المسار المحاذي على الخريطة.
  • هل تستخدم خطوطًا متعددة الأضلاع مرمّزة؟ تؤدي خطوط متعدّدة الأضلاع المشفرة إلى اقتطاع أزواج خطوط الطول والعرض إلى 5 منازل عشرية، ما يؤدي إلى حدوث خطأ بعدة أمتار، وينتج عن ذلك خطوط متقطعة أو منحرفة قليلاً عن الطريق عند مستويات تكبير عالية.

إذا لم يكن أيّ من الأمرين أعلاه صحيحًا، قد تم تحديث مربّعات الخرائط مؤخرًا، ما أدّى إلى عدم مزامنتها مع فهرس الطرق المستخدَم في المحاذاة. إذا تأثّرت بضعة طلبات بحث فقط، من المرجّح أن يكون هذا هو السبب. بما أنّ "خرائط Google" يتم تعديلها بانتظام، قد يحدث ذلك أحيانًا، وقد يتكرّر حدوثه إذا كنت تتصفّح بانتظام مسارات قديمة على الخريطة (مثل المسارات التي تم التقاطها قبل عدة أسابيع). للحصول على أفضل عرض مرئي، عليك إعادة ربط المسارات القديمة قبل عرضها على الخريطة مباشرةً، وذلك للحدّ من التناقضات بين مربّعات الخريطة وفهرس الطرق المستخدَم في الربط.

ما الأسباب التي يمكن أن تؤدي إلى عرض حدّ السرعة للطريق X بشكل غير صحيح؟
تأتي حدود السرعة من عدة مصادر تختلف من حيث الدقة والتغطية. إذا عثرت على نمط، مثل حدود السرعة لنوع معيّن من الطرق أو في منطقة معيّنة، وكان هذا النمط غير صحيح باستمرار، يُرجى اتّخاذ الخطوات التالية لإعلامنا بذلك:
  1. افتح "خرائط Google" على جهاز الكمبيوتر المكتبي أو تطبيق "خرائط Google" على جهاز Android.
  2. افتح القائمة الجانبية اليمنى.
  3. انقر على إرسال الملاحظات. ملاحظة: قد يُطلب منك تسجيل الدخول.
  4. انقر على تعديل الخريطة.
  5. اختَر جزء الطريق الذي تريد تعديله.
  6. اختَر التالي.
  7. في حقل "غير ذلك"، أشر إلى أنّ حدّ السرعة غير صحيح على هذا الطريق.
  8. انقر على إرسال.
يمكنك أيضًا الإبلاغ عن مشاكل أخرى هنا (على سبيل المثال، إذا كان اسم الطريق غير صحيح أو إذا كان الرسم غير صحيح أو إذا كان الطريق مغلقًا أو خاصًا).
لماذا يختصر المسار المحاذي الطريق بدلاً من اتّباعه؟
لحلّ هذه المشكلة، يُرجى التحقّق مما يلي:
  • تأكَّد من ضبط المَعلمة interpolate على true.
  • تأكَّد من أخذ عيّنات من نقاط البيانات الأصلية بفواصل زمنية قريبة بما يكفي (كل ثانية إلى 10 ثوانٍ).
لماذا يتم عرض الكثير من مقاطع الطرق في المسار المحاذي لطريق لا تتغير فيه حدود السرعة؟
عند ضبط المَعلمة interpolate على true، يعرض طلب البحث "المحاذاة مع الطريق" خطًا متعدّد الأضلاع يتبع الطريق حول الزوايا والمنحنيات والدوارات. إذا كان الطريق منحنياً، يتم عرض عدة أجزاء من الطريق حتى إذا لم يتغير حد السرعة، وذلك لإنشاء خط متعدد الأضلاع يتبع شكل الطريق الهندسي بدقة.