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

الأخطاء

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

تراجع أسي

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

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

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

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

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

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

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

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