نصائح لإنشاء أفضل تجربة للمستخدم عند الانتقال إلى المواقع الجغرافية باستخدام سيارة

يتوفّر إصدار أحدث من هذا المستند يتضمّن أمثلة على كيفية استخدام واجهة Places API وRoutes API الجديدتين.

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

[سياق النظام] أنظمة التنقّل عالية المستوى
عرض مبسط للأنظمة المعنية عند توجيه السائق إلى موقع جغرافي باستخدام السيارة
مخطّط بياني عالي المستوى للأنظمة

سنوضّح لك كيفية استخدام واجهتَي Places API وDirections API بالتسلسل أو معًا لتحديد الموقع الجغرافي المناسب لركن السيارة بالقرب من وجهتك. يهدف هذا الحل إلى إزالة حالة عدم اليقين والتفاعلات المتعددة للعثور على مكان لركن السيارة أثناء القيادة عند الاقتراب من الوجهة النهائية. لنلقِ نظرة على مثالَين حول كيفية تنفيذ هذه الحالات بالتفصيل.

المثال 1 - معلم سياحي لا يتضمّن موقفًا للسيارات

لنحدّد موقعًا جغرافيًا غير متصل مباشرةً بجانب الطريق، وذلك حتى يتم استرداد مسار بشكل منفصل. الوجهة هي كاتدرائية نوتردام في باريس، ونقطة البداية هي محطة قطار غار دو ليست (48.87697775149635, 2.3592247806755564).

محطة قطار الشرق

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

طلب Places API

يستخدم طلب Places API هذا "البحث النصي" للعثور على كاتدرائية نوتردام. اطّلِع على مستندات المطوّرين للحصول على التفاصيل. إنّ YOUR_KEY في هذه الأمثلة هو مفتاح واجهة برمجة التطبيقات الذي تستخدمه في واجهتَي Places API وDirections API من Google Maps Platform، واللتين تم تفعيلهما في Google Cloud Console. للحصول على شرح أكثر تفصيلاً، يُرجى الاطّلاع على مستندات البدء في استخدام "منصة خرائط Google".

https://maps.googleapis.com/maps/api/place/textsearch/json?query=notre_dame&location=48.864716%2C2.349014&region=fr&key=YOUR_KEY

يقدّم الردّ على الطلب أعلاه إحداثيات خطوط الطول والعرض التالية:

  "results" : [
      {
        "formatted_address" : "Notre Dame, Paris",
        "geometry" : {
           "location" : {
               "lat" : 48.8527288,
                },
  ...

كما ترى، تشير الإحداثيات بالفعل إلى "كاتدرائية نوتردام".

صورة لكاتدرائية نوتردام
كاتدرائية نوتردام على الخريطة

إذا كنت مطوّرًا أو مقدّم خدمة، من المستحسن أن تطلب من السائق تلقائيًا "هل تبحث عن مكان لوقوف السيارة بالقرب من نوتردام؟". ستختلف تجربة المستخدم حسب الجهاز والشاشة، ولكن قد يكون من المفيد في هذه الحالة عرض نص منبثق دقيق يختفي بعد فترة قصيرة. للعثور على موقف سيارات بالقرب من كاتدرائية نوتردام، يمكنك إجراء بحث نصي باستخدام Places API مع ضبط المَعلمتَين "النوع" على "موقف سيارات" و"نصف القطر" على "300". سيؤدي هذا المثال إلى تحيز النتائج نحو مناطق ركن السيارات التي تقع على بُعد 300 متر من كاتدرائية نوتردام.

https://maps.googleapis.com/maps/api/place/textsearch/json?query=parking
&location=48.8527288%2C2.3505635&region=fr&type=parking&radius=300&key=YOUR_KEY

النتيجة الأولى هي "Parking Saemes Maubert-Lagrange" عند الإحداثيات 48.850591 و2.3486436. لنستخدِم هذا الموقع الجغرافي في الجزء التالي حيث سنرسل طلبًا إلى Directions API.

طلب Directions API

للعثور على الطريق من المحطة إلى موقف سيارات بالقرب من كاتدرائية نوتردام، عليك إرسال طلب إلى Directions API. ما عليك سوى ضبط مَعلمتَي نقطة الانطلاق والوجهة. يمكنك الاطّلاع على مستندات المطوّرين لمعرفة المزيد من الخيارات.

https://maps.googleapis.com/maps/api/directions/json?origin=48.8767903,2.3592251&destination=48.850591%2C2.3486436&key=YOUR_KEY

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

قد يبدو هذا الموقع الجغرافي غير مناسب، ولكن عند الاطّلاع على الخريطة أو "التجوّل الافتراضي من Google"، ستجد أنّه يقع على مسافة قصيرة جدًا سيرًا على الأقدام، أي حوالي 6 إلى 7 دقائق، من كاتدرائية نوتردام.

مسار مشي من موقف السيارات إلى كاتدرائية نوتردام

مسار للمشي من منطقة مواقف السيارات إلى كاتدرائية نوتردام

ملخّص المثال 1

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

  • طلب إلى Places API للعثور على إحداثيات كاتدرائية نوتردام
  • طلب من Places API للعثور على موقف سيارات على بُعد 300 متر من هذه الإحداثيات
  • طلب إلى Directions API للعثور على مسار إلى منطقة انتظار السيارات

المثال 2: التوجيه إلى مبنى الركاب في مطار كبير

مطار هيثرو على الخريطة
لنفترض مثالاً آخر يحاول فيه السائق الوصول إلى منطقة كبيرة تتضمّن مواقع جغرافية أو نقاط اهتمام أو نقاط توقّف محتملة متعددة. يغادر السائق من ملعب ويمبلي في المملكة المتحدة (51.557263604707224، -0.2794575145680608) ويحاول الوصول إلى مبنى الركاب 5 في مطار لندن هيثرو. في العادة، يبدأ المستخدم في كتابة "هيثرو"، وفي معظم الأحيان، يختار الأشخاص إحدى النتائج الأولى 2 أو 3 إذا بدت النتيجة صحيحة. من النتيجة المحدّدة، يمكنك معرفة أنّ الموقع الجغرافي هو مطار من خلال قراءة قيم الحقل "الأنواع". يمكنك الاطّلاع على القائمة الكاملة للأنواع هنا.

  "types" : [ "airport", "point_of_interest", "establishment" ],

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

  https://maps.googleapis.com/maps/api/place/textsearch/json?query=terminal&location=51.47016927594547%2C-0.45432767852489075&region=gb&key=YOUR_KEY&radius=3000

يمنحنا طلب البحث أعلاه قائمة بالمحطات ونقاط التسليم الفردية في تلك المحطات. من قائمة النتائج، يمكننا العثور على "مبنى الركاب 5 في مطار لندن هيثرو" ومعرّف المكان الخاص به:

 "place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",

باستخدام المَعلمة "place_id"، يمكننا إخبار واجهة برمجة التطبيقات Directions API بأنّنا نحاول الوصول إلى مكان بدلاً من إحداثيات عشوائية.

  https://maps.googleapis.com/maps/api/directions/json?origin=51.557263604707224,-0.2794575145680608&destination=place_id:ChIJtQRd6XVxdkgRTUGZtcsoGNc&key=YOUR_KEY

مرة أخرى، كما هو الحال في المثال السابق، من خلال قراءة جميع الخطوات في رد JSON، ستجد الجزء الأخير من الرحلة وإحداثيات خطوط الطول والعرض للمواقع الجغرافية النهائية (51.47079979999999,-0.4896765).

مبنى الركاب 5 في مطار هيثرو

ملخّص المثال 2

كما هو الحال في المثال السابق، فإنّ الجهد التطويري اللازم لتقديم إرشادات محسّنة للسائق صغير جدًا، ويمكن قياس الفوائد التي يحققها السائق بسهولة من خلال الوقت الذي يوفّره. نفّذنا الطلبات التالية:

  • طلب من Places API للعثور على مطار هيثرو
  • طلب من Places API للعثور على جميع المحطات القريبة من إحداثيات مطار هيثرو
  • طلب من Directions API للحصول على مسار إلى المحطة 5

الخاتمة

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

لأغراض التطوير، يمكنك استخدام العديد من المكتبات والأدوات المتاحة لمساعدتك في إنشاء الخدمات لعملائك. يمكنك الاطّلاع على مستودع GitHub المتاح للجميع في Google Maps Platform.

الإجراءات التالية

المؤلف الرئيسي

ميكو تويفانين | مهندس حلول في "منصة خرائط Google"