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

الأخطاء

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

خوارزمية الرقود الأسي الثنائي

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

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

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

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

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

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

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

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