يتوفّر إصدار أحدث من هذا المستند يتضمّن أمثلة على كيفية استخدام واجهة 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®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 Maps Platform.
الإجراءات التالية
- التنقّل من الأماكن الخارجية إلى الأماكن الداخلية
- إنشاء إمكانية التحقّق من صحة الموقع الجغرافي باستخدام "خرائط Google"
المؤلف الرئيسي
ميكو تويفانين | مهندس حلول في "منصة خرائط Google"