عادةً ما يحتاج المستخدم إلى الانتقال إلى موقع قريب، مثل موقف سيارات أو نقطة وصول، عندما يكون في طريقه إلى نقطة اهتمام. تخيل سائقًا يحتاج إلى الانتقال إلى مطار أو مركز تسوّق. عند الانتقال إلى مطار، يحاول السائق الوصول إلى محطة أو نقطة إنزال بدلاً من مركز مجمع المطار. وبالمثل، قد يكون موقف السيارات بجانب مركز التسوق خيارًا أفضل بكثير للمستخدم الذي يملك سيارة. في هذه الحالة، عند تطوير تطبيق أو خدمة لتوجيه السائق، ابحث أولاً عن الموقع الذي سيذهب إليه، ثم اعرض الوجهات الاختيارية للسائق بالقرب من ذلك الموقع. يتيح لك هذا النهج تقديم خدمة أفضل لعملائك وإظهار تقديرك لوقته، وذلك من خلال جهد تطوير صغير ولكن ذكي يستفيد من بيانات الموقع الجغرافي التي تقدّمها "منصة خرائط Google".
سنوضّح لك كيفية استخدام Places API وDirections API بالتسلسل أو معًا لتحديد الموقع المناسب لإيقاف سيارتك بجانب وجهتك. يهدف هذا الحل إلى إزالة حالة عدم اليقين والتفاعلات المتعددة لإيجاد مكان لركن السيارة أثناء القيادة مرة واحدة عند الاقتراب من الوجهة النهائية. دعونا نلقِ نظرة على مثالين لكيفية تنفيذ هذه الحالات بالتفصيل.
المثال 1 - معلم سياحي لا يوجد به موقف سيارات
لنختار موقعًا جغرافيًا غير مرتبط مباشرةً بطريق جانبي، وبالتالي يجب استرجاع مسار بشكل منفصل. الوجهة هي كاتدرائية نوتردام في باريس، ونقطة البداية هي محطة السكك الحديدية Gare de l’Est (48.87697775149635, 2.3592247806755564).
يغادر السائق المحطة بعد 16 دقيقة تقريبًا شمال كاتدرائية نوتردام. كاتدرائية نوتردام هي معلم سياحي شهير على جزيرة يمكن الوصول إليها عبر جسر، وتضم بعض الشوارع ذات الاتجاه الواحد ولا يتوفّر فيها موقف سيارات كبير قريب، لذا من المفترض أن يكون هذا تحديًا مثيرًا للاهتمام.
طلب البيانات من واجهة برمجة التطبيقات للأماكن
يستخدم هذا المثال من واجهة برمجة تطبيقات الأماكن ميزة "البحث النصي" للعثور على نوتردام. اطّلِع على مستندات المطوّرين للحصول على التفاصيل. يشير العنصر YOUR_KEY في هذه الأمثلة إلى مفتاح واجهة برمجة التطبيقات الذي تملكه لواجهات برمجة التطبيقات Places وDirections في "منصة خرائط 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, }, ...
كما ترى، تشير الإحداثيات إلى موقع كاتدرائية نوتردام.
|
|
بصفتك مطوّر برامج أو مقدّم خدمة، من الأفضل أن تسأل السائق تلقائيًا ما يلي: "هل تبحث عن موقف سيارات بالقرب من نوتردام؟". ستختلف تجربة المستخدم حسب الجهاز والشاشة، ولكن قد يكون من المفيد في هذه الحالة ظهور نص منبثق دقيق يختفي بعد وقت قصير. للعثور على موقف سيارات بالقرب من نوتردام، قم بإجراء بحث نصي في واجهة برمجة تطبيقات الأماكن مع تعيين معلمتي "ركن السيارة" ونطاق "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
النتيجة الأولى هي "Parking Saemes Maubert-Lagrange" عند 48.850591، 2.3486436. لنستخدم هذا الموقع الجغرافي في الجزء التالي حيث سنُجري طلبًا من 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، ستجد الجزء الأخير من الرحلة وموضع النهاية "lat &" (خط العرض) الإحداثيات الطويلة (51.47079979999999،-0.4896765).
ملخّص المثال 2
كما هو الحال في المثال السابق، فإن جهود التطوير لتقديم إرشادات محسنة للسائق صغيرة للغاية ويمكن قياس الفوائد التي تم توفيرها للسائق بسهولة في الوقت المناسب. لقد نفّذنا الطلبات التالية:
- طلب Places API للعثور على مطار هيثرو
- طلب Places API للعثور على جميع مباني الركاب القريبة من إحداثيات مطار هيثرو
- طلب من واجهة برمجة التطبيقات للاتجاهات للحصول على مسار إلى مبنى الركاب 5
الخاتمة
كما ترى، فإن جهود التطوير اللازمة لتقديم خدمة مميزة لعملائك الذين يسافرون بالسيارة صغيرة إلى حد ما وتتيح لك أن تُظهر بسهولة طريقة تفكيرك في احتياجات عملائك.
لأغراض التطوير، يمكنك استخدام العديد من المكتبات والأدوات المتاحة لمساعدتك في إنشاء الخدمات لعملاءك. ألق نظرة على مستودع GitHub المتاح للجميع لنظام خرائط Google.
الإجراءات التالية
- التنقّل بين الأماكن الخارجية والداخلية
- إنشاء إمكانية التحقّق من الموقع الجغرافي باستخدام "خرائط Google"
المؤلف الرئيسي
ميكو تويفانين | مهندس حلول "منصة خرائط Google"