أفضل الممارسات لعناوين الترميز الجغرافي

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

بشكل عام، استخدِم Geocoding API عند الترميز الجغرافي للعناوين الكاملة (على سبيل المثال، "48 Pirrama Rd, Pyrmont, NSW, Australia"). استخدِم خدمة الإكمال التلقائي للأماكن في Places API عند الترميز الجغرافي للعناوين الغامضة (غير المكتملة) أو للتطبيقات التي تتطلّب سرعة استجابة عالية، مثل الاستجابة لإدخالات المستخدمين.

حالات الاستخدام واقتراحات واجهة برمجة التطبيقات

حالات الاستخدام واقتراحات واجهات برمجة التطبيقات
الردّ في الوقت الفعلي على البيانات التي يُدخلها المستخدم (بما في ذلك العناوين الغامضة أو غير المكتملة أو المنسَّقة بشكل سيئ أو التي تحتوي على أخطاء إملائية والتي يُدخلها المستخدم) استخدِم خدمة Place Autocomplete في Places API للحصول على رقم تعريف مكان، ثم استخدِم Geocoding API لترميز رقم تعريف المكان جغرافيًا وتحويله إلى قيمة latlng.
الأنظمة الآلية التي تعالج العناوين البريدية الكاملة والواضحة (على سبيل المثال، "48 Pirrama Rd, Pyrmont, NSW, Australia") استخدِم خدمة الويب Geocoding API.
الأنظمة الآلية التي تعالج طلبات البحث الغامضة (مثل العناوين غير المكتملة أو المنسَّقة بشكل سيئ أو التي تتضمّن أخطاء إملائية) ننصح الأنظمة الآلية باستخدام خدمة الويب Geocoding API. ومع ذلك، قد تستفيد الأنظمة الآلية التي تتضمّن معدّلًا مرتفعًا من طلبات البحث الغامضة أو غير المكتملة أو التي تتضمّن أخطاء إملائية المستمدّة من بيانات أدخلها المستخدم من إضافة أداة تفاعلية لميزة "الإكمال التلقائي للأماكن" للسماح للمستخدمين باختيار نتيجة وبالتالي تجنُّب الأخطاء الإملائية في العناوين.
مشاكل في وقت الاستجابة عند استخدام Directions API (الإصدار القديم) أو Distance Matrix API (الإصدار القديم) مع تحديد نقاط البداية أو الوجهات أو نقاط المرور كسلاسل عناوين يمكنك تقليل وقت استجابة الترميز الجغرافي باستخدام خدمة "الإكمال التلقائي للأماكن" في Places API للحصول على أرقام تعريف الأماكن، ثم تمرير أرقام تعريف الأماكن إلى Directions API (الإصدار القديم) أو Distance Matrix API (الإصدار القديم).

الردّ على بيانات يدخلها المستخدم

تتضمّن التطبيقات التي تستجيب في الوقت الفعلي لإدخالات المستخدمين اعتبارَين رئيسيَّين يؤثّران في اختيار واجهة برمجة التطبيقات، وهما:

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

هذان الاعتباران يجعلان خدمة "الإكمال التلقائي للأماكن" في Places API مثالية لحالة الاستخدام المتعلقة بالرد على إدخال المستخدم. تم تصميم ميزة "الإكمال التلقائي للمكان" لعرض خيارات متعدّدة محتملة والسماح للمستخدم بالاختيار من بينها. يمكن حصر استخدام Places API على البحث عن الرموز الجغرافية أو العناوين فقط، مع استبعاد المؤسسات. علاوةً على ذلك، يمكن أن تكون دالة البحث عن الإكمال التلقائي متحيزة لعرض نتائج خاصة بموقع جغرافي معيّن. تعرض Places API رقم تعريف المكان الذي يمكن تمريره كموقع جغرافي محدّد بالكامل إلى خدمة Geocoding API على الويب، والتي تعرض بعد ذلك تفاصيل العنوان الكاملة، وترمّز العنوان جغرافيًا إلى إحداثيات خطوط العرض والطول. يمكن أيضًا تمرير أرقام تعريف الأماكن إلى واجهات برمجة تطبيقات أخرى، مثل Directions API (الإصدار القديم) وDistance Matrix API (الإصدار القديم) (يُرجى الاطّلاع على تقليل وقت الاستجابة).

تتطلّب عملية الترميز الجغرافي للعناوين في Geocoding API وقت استجابة أطول بكثير، كما أنّها تقدّم نتائج أقل دقة للاستعلامات غير المكتملة أو الغامضة، لذا لا يُنصح باستخدامها في التطبيقات التي يجب أن تستجيب في الوقت الفعلي لإدخالات المستخدمين.

يمكنك الاطّلاع على مزيد من المعلومات حول خدمة "الإكمال التلقائي للأماكن" على Android وiOS وJavaScript و Places API.

الأنظمة الآلية

الأنظمة الآلية التي تعالج العناوين البريدية الكاملة والواضحة: إنّ طلبات البحث الواضحة، مثل سلاسل العناوين البريدية الكاملة (على سبيل المثال، "‎48 Pirrama Rd, Pyrmont, NSW, Australia")، تتم معالجتها بشكل أفضل من خلال خدمة الويب Geocoding API. توفّر الخلفية البرمجية للترميز الجغرافي للعناوين تغطية أكبر للعناوين على مستوى العالم، وهي محسّنة لتقديم نتائج عالية الجودة مع هذه الأنواع من طلبات البحث الكاملة والواضحة.

معالجة النظام الآلي لطلبات البحث الغامضة: طلبات البحث الغامضة هي تلك التي تحتوي على عناوين سيئة التنسيق أو عناوين غير مكتملة أو أخطاء إملائية. بالنسبة إلى الأنظمة الآلية، ننصح باستخدام خدمة Geocoding API على الويب. ومع ذلك، لم يتم تصميم Geocoding API للتعامل مع طلبات البحث الغامضة، وقد يعرض نتائج أقل دقة أو لا يعرض أي نتائج استجابةً لطلبات البحث الغامضة. إذا كان نظامك الآلي يعالج عددًا كبيرًا من طلبات البحث الغامضة المستندة إلى إدخالات المستخدمين، قد تستفيد من إضافة عنصر تفاعلي إلى تطبيقك باستخدام خدمة "الإكمال التلقائي للأماكن" في Places API، لأنّها مصمَّمة لعرض خيارات متعدّدة محتملة والسماح للمستخدم بالاختيار من بينها. تعرض Places API رقم تعريف المكان يمكن تمريره كموقع جغرافي تم توضيحه بالكامل إلى خدمة الويب Geocoding API، والتي تعرض بعد ذلك تفاصيل العنوان الكاملة، وتُرمِّز العنوان جغرافيًا إلى خط عرض وخط طول. يمكنك الاطّلاع على مزيد من المعلومات حول خدمة "الإكمال التلقائي للأماكن" على Android وiOS وJavaScript و Places API.

تقليل وقت الاستجابة لواجهة Directions API (الإصدار القديم) وواجهة Distance Matrix API (الإصدار القديم)

عند تحديد نقاط الانطلاق أو الوجهات أو النقاط على المسار كسلاسل عناوين، تستخدم واجهتا Directions API (القديمة) و Distance Matrix API (القديمة) الخلفية نفسها التي تستخدمها واجهة Geocoding API لترميز هذه العناوين جغرافيًا قبل احتساب الاتجاهات. يؤدي ذلك إلى زيادة وقت الاستجابة بشكل كبير مقارنةً بتحديد المواقع الجغرافية نفسها كإحداثيات خطوط الطول والعرض أو أرقام تعريف الأماكن.

إذا كان تطبيقك يستخدم Directions API (القديمة) أو Distance Matrix API (القديمة) في حالة حسّاسة لزمن الاستجابة، مثل الاستجابة لبيانات أدخلها المستخدم، وتم تحديد نقاط الانطلاق أو الوجهات أو النقاط على المسار في البداية كسلاسل عناوين، ننصحك بتقليل وقت الاستجابة باستخدام خدمة "الإكمال التلقائي للأماكن" في Places API لتحويل سلاسل العناوين إلى أرقام تعريف الأماكن، ثم تمرير أرقام تعريف الأماكن إلى Directions API (القديمة) أو Distance Matrix API (القديمة). يمكنك الاطّلاع على مزيد من المعلومات حول خدمة "الإكمال التلقائي للأماكن" على Android وiOS وJavaScript و Places API. يمكنك أيضًا الاطّلاع على مثال JavaScript للإكمال التلقائي للأماكن والاتجاهات.

الخاتمة

استنادًا إلى حالة الاستخدام، يمكنك استخدام Geocoding API وحدها أو دمجها مع خدمة Place Autocomplete. يتيح لك ذلك إنشاء تطبيقات تقدّم نتائج ترميز جغرافي دقيقة وزمن انتقال أقل.

إدارة الأخطاء وعمليات إعادة المحاولة

إذا تلقّيت ردودًا تتضمّن الرمز UNKNOWN_ERROR، يكون السبب هو أخطاء مؤقتة، وأفضل طريقة للتعامل معها هي إعادة المحاولة بعد فترة تأخير قصيرة. ننصحك بالاستفادة من مكتبات العميل لخدمات الويب على "منصة خرائط Google"، والتي تتضمّن منطق إعادة المحاولة وتتيح المصادقة على "خطة Premium" من "منصة خرائط Google". Java Client وPython Client وGo Client وNode.js Client الخاصة بخدمات "خرائط Google" هي مكتبات برامج عميل متاحة للتنزيل والمساهمة على GitHub، ويمكنك أيضًا العثور فيها على تعليمات التثبيت ونماذج الرموز البرمجية.

إذا تلقّيت رمز الحالة OVER_QUERY_LIMIT كاستجابة، يعني ذلك أنّك تجاوزت حدود الاستخدام لواجهة برمجة التطبيقات. ننصحك بتجربة استراتيجيات تحسين الاستخدام هذه.