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

الأخطاء

في حال حدوث خطأ، سيتم عرض نص استجابة الخطأ بتنسيق عادي، وسيتم ضبط رمز حالة 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، يعرض طلب "المحاذاة مع الطريق" خطًا متعدّد الأضلاع يتبع الطريق حول الزوايا والمنحنيات والدوّارات. إذا كان الطريق منحنياً، يتم عرض عدة أجزاء من الطريق حتى إذا لم يتغيّر حد السرعة، وذلك لإنشاء خط متعدد الأضلاع يتبع شكل الطريق الهندسي بدقة.