يتوفّر إصدار أحدث من هذا المستند يتضمّن أمثلة على كيفية استخدام واجهتَي 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، واللتين تم تفعيلهما في Google Cloud Console. للحصول على شرح أكثر تفصيلاً، يُرجى الاطّلاع على مستندات البدء في استخدام "منصة خرائط Google".
https://maps.googleapis.com/maps/api/place/textsearch/json?query=notre_dame&location=48.864716%2C2.349014®ion=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®ion=fr&type=parking&radius=300&key=YOUR_KEY
النتيجة الأولى هي "موقف سيارات 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: توجيه المستخدم إلى صالة في مطار كبير
"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®ion=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).
ملخّص المثال 2
كما هو الحال في المثال السابق، فإنّ الجهد التطويري اللازم لتقديم إرشادات محسّنة للسائق بسيط جدًا، ويمكن قياس الفوائد التي يحققها السائق بسهولة من خلال الوقت الذي يوفّره. نفّذنا الطلبات التالية:
- طلب بيانات من واجهة برمجة التطبيقات Places API للعثور على مطار هيثرو
- طلب بيانات من واجهة برمجة التطبيقات من Places API للعثور على جميع المحطات القريبة من إحداثيات مطار هيثرو
- طلب بيانات من واجهة برمجة التطبيقات Directions API للحصول على مسار إلى المحطة 5
الخاتمة
كما تلاحظ، فإنّ الجهد المطلوب لتطوير خدمة مميّزة للعملاء الذين يتنقلون بالسيارة بسيط جدًا، ويتيح لك أن توضّح بسهولة كيف تفكّر في احتياجات عملائك.
لأغراض التطوير، يمكنك استخدام العديد من المكتبات والأدوات المتاحة لمساعدتك في إنشاء الخدمات لعملائك. يمكنك الاطّلاع على مستودع GitHub المتاح للجميع لمنصة خرائط Google.
الإجراءات التالية
المؤلف الرئيسي
ميكو تويفانين | مهندس حلول في "منصة خرائط Google"