دليل التحسين

يصف هذا الدليل عدة استراتيجيات لتحسين استخدامك لواجهات برمجة التطبيقات في Google Maps من حيث الأمان والأداء والاستهلاك.

الأمان

مراجعة أفضل ممارسات الأمان

مفاتيح واجهة برمجة التطبيقات هي بيانات اعتماد خاصة بالمشروع وتستحق الاحتياطات نفسها التي تتخذها لمعرّفات المستخدمين وكلمات المرور. راجِع أفضل ممارسات الأمان لواجهة برمجة التطبيقات لحماية مفاتيحك من الاستخدام غير المقصود الذي قد يؤدي إلى استخدام الحصة بشكل غير ضروري وفرض رسوم غير متوقّعة على حسابك.

استخدام مفاتيح واجهة برمجة التطبيقات للوصول إلى واجهات برمجة التطبيقات في "خرائط Google"

مفاتيح واجهة برمجة التطبيقات هي طريقة المصادقة المفضّلة للوصول إلى واجهات برمجة التطبيقات في "خرائط Google". على الرغم من أنّه لا يزال بإمكانك استخدام معرّفات العملاء، تتيح مفاتيح واجهة برمجة التطبيقات عناصر تحكّم أكثر دقة في الأمان ويمكن ضبطها للعمل مع عناوين ويب وعناوين IP وحِزم تطوير البرامج للأجهزة الجوّالة (Android وiOS) معيّنة. للحصول على معلومات حول إنشاء مفتاح واجهة برمجة تطبيقات وتأمينه، انتقِل إلى صفحة "استخدام مفتاح واجهة برمجة التطبيقات" لكل واجهة برمجة تطبيقات أو حزمة تطوير برامج. (على سبيل المثال، بالنسبة إلى Maps JavaScript API، انتقِل إلى صفحتها حول استخدام مفتاح واجهة برمجة التطبيقات.)

الأداء

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

إذا كانت تطبيقاتك تواجه أخطاءً ناتجة عن محاولات مفرطة لاستدعاء واجهة برمجة تطبيقات خلال فترة زمنية قصيرة، مثل أخطاء الحصة، ننصحك باستخدام خوارزمية الرقود الأسي الثنائي للسماح بمعالجة الطلبات. تكون خوارزمية الرقود الأسي الثنائي مفيدة جدًا للأخطاء التي تبدأ بالرقم 500.

على وجه التحديد، اضبط وتيرة طلبات البحث. في الرمز البرمجي، أضِف فترة انتظار مدتها S ثانية بين طلبات البحث. إذا كان طلب البحث لا يزال يؤدي إلى ظهور خطأ في الحصة، ضاعِف فترة الانتظار ثم أرسِل طلب بحث آخر. استمِر في ضبط فترة الانتظار إلى أن يعرض طلب البحث نتائج بدون خطأ.

إرسال طلبات تفاعل المستخدم عند الطلب

يجب إرسال الطلبات إلى واجهات برمجة التطبيقات التي تتضمّن تفاعل المستخدم عند الطلب فقط. وهذا يعني الانتظار إلى أن ينفّذ المستخدم النهائي إجراءً (مثل on-click) لبدء طلب واجهة برمجة التطبيقات، ثم استخدام النتائج لتحميل خريطة أو ضبط وجهة أو عرض معلومات مناسبة. يؤدي استخدام طريقة "عند الطلب" إلى تجنُّب إرسال طلبات غير ضرورية إلى واجهات برمجة التطبيقات، ما يقلّل من استهلاك واجهة برمجة التطبيقات.

تجنُّب عرض محتوى متراكب عند تحريك خريطة

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

تجنُّب العمليات المكثّفة في طرق Draw

كقاعدة عامة، من الممارسات الجيدة تجنُّب العمليات غير المتعلّقة بالرسم والتي تتطلّب أداءً مكثّفًا في طريقة Draw(). على سبيل المثال، تجنَّب ما يلي في الرمز البرمجي لطريقة Draw():

  • طلبات البحث التي تعرض كمية كبيرة من المحتوى
  • إجراء تغييرات كثيرة على البيانات المعروضة
  • التعامل مع العديد من عناصر نموذج كائن المستند (DOM)

يمكن أن تؤدي هذه العمليات إلى إبطاء الأداء وحدوث تأخير أو تقطّع مرئي عند عرض الخريطة.

استخدام الصور النقطية للعلامات

استخدِم الصور النقطية، مثل الصور بتنسيق PNG أو JPG، عند إضافة علامات لتحديد موقع جغرافي على خريطة. تجنَّب استخدام صور Scalable Vector Graphics (SVG)، لأنّ عرض صور SVG قد يؤدي إلى حدوث تأخير عند إعادة رسم الخريطة.

تحسين العلامات

يحسّن التحسين الأداء من خلال عرض العديد من العلامات كعنصر ثابت واحد. ويكون ذلك مفيدًا في الحالات التي تتطلب عددًا كبيرًا من العلامات. تحدّد Maps JavaScript API تلقائيًا ما إذا سيتم تحسين العلامة. عندما يكون هناك عدد كبير من العلامات، ستحاول Maps JavaScript API عرض العلامات مع التحسين. لا يمكن تحسين جميع العلامات، وفي بعض الحالات، قد تحتاج Maps JavaScript API إلى عرض العلامات بدون تحسين. أوقِف العرض المحسّن لصور GIF أو PNG المتحركة، أو عندما يجب عرض كل علامة كعنصر DOM منفصل.

إنشاء مجموعات لإدارة عرض العلامات

للمساعدة في إدارة عرض العلامات لتحديد المواقع الجغرافية على خريطة، أنشئ مجموعة علامات باستخدام مكتبة Marker Clusterer. تتضمّن مكتبة Marker Clusterer خيارات لما يلي:

  • حجم الشبكة، لتحديد عدد العلامات التي سيتم تجميعها في مجموعة
  • الحد الأقصى للتكبير، لتحديد الحد الأقصى لمستوى التكبير الذي سيتم فيه عرض المجموعة
  • مسارات الصور، للصور الرسومية التي سيتم استخدامها كرموز للعلامات

مشاهدة المحتوى

للحصول على معلومات حول إدارة تكاليف Google Maps Platform، بما في ذلك إنشاء الميزانيات وتعديل الحصص وضبط التنبيهات، يُرجى الاطّلاع على مقالة إدارة التكاليف.