نکاتی برای ایجاد بهترین تجربه کاربری هنگام پیمایش به مکان‌ها با ماشین

معمولاً هنگامی که کاربر به سمت یک نقطه مورد علاقه (POI) رانندگی می کند، در واقع به ناوبری به یک مکان نزدیک مانند یک پارکینگ یا یک نقطه دسترسی نیاز دارد. راننده ای را تصور کنید که باید به فرودگاه یا مرکز خرید برود. هنگام رفتن به فرودگاه، راننده به جای رسیدن به مرکز محوطه فرودگاه، سعی می‌کند به یک ترمینال یا یک نقطه تخلیه برسد. به همین ترتیب یک پارکینگ در کنار مرکز خرید ممکن است گزینه بسیار بهتری برای کاربر با ماشین باشد. در این مورد، هنگام توسعه یک برنامه یا سرویسی برای راهنمایی راننده، ابتدا مکانی را که می‌خواهند پیدا کنید و سپس مقصدهای اختیاری نزدیک آن مکان را به راننده پیشنهاد دهید. این رویکرد به شما امکان می دهد خدمات بهتری را به مشتریان خود ارائه دهید و نشان دهید که برای زمان آنها ارزش قائل هستید، با یک تلاش توسعه کوچک اما هوشمند که از داده های موقعیت مکانی ارائه شده توسط Google Maps Platform استفاده می کند.

[سیستم زمینه] سیستم های ناوبری سطح بالا
نمای ساده‌شده از سیستم‌های درگیر هنگام هدایت راننده به مکانی با خودرو
نمودار سیستم های سطح بالا

ما نشان خواهیم داد که چگونه می توانید از Places API و Directions API به ترتیب یا ترکیبی برای شناسایی مکان مناسب برای پارک در کنار مقصد خود استفاده کنید. هدف این راه حل حذف عدم قطعیت و تعاملات متعدد برای یافتن مکانی برای پارک در حین رانندگی یک بار به مقصد نهایی است. بیایید به دو نمونه از نحوه اجرای این موارد با جزئیات نگاه کنیم.

مثال 1 - یک جاذبه توریستی بدون پارکینگ

بیایید مکانی را انتخاب کنیم که مستقیماً به کنار جاده متصل نباشد، بنابراین یک مسیر باید به طور جداگانه بازیابی شود، مقصد نوتردام در پاریس است و به عنوان نقطه شروع از ایستگاه راه آهن Gare de l'Est (48.87697775149635، 2.359224780675556) استفاده می کنیم.

Gare de l'Est

راننده ایستگاه را در حدود 16 دقیقه شمال نوتردام ترک می کند. نوتردام یک جاذبه توریستی معروف در جزیره ای با دسترسی به پل، برخی از خیابان های یک طرفه و بدون پارکینگ بزرگ در نزدیکی آن است، بنابراین این باید یک چالش جالب باشد.

درخواست API مکان ها

این مثال درخواست Places API از «جستجوی متن» برای یافتن نوتردام استفاده می‌کند. برای جزئیات به مستندات توسعه دهنده مراجعه کنید. «YOUR_KEY» در این مثال‌ها کلید API است که برای APIهای مکان‌ها و مسیرهای پلتفرم Google Maps فعال در Google Cloud Console دارید. برای توضیح دقیق تر، لطفاً مستندات مربوط به شروع کار با Google Maps Platform را ببینید.

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,
                },
  ...

همانطور که می بینید، مختصات در واقع نوتردام را مشخص می کند.

Notre Dame photo
Notre Dame on map

به‌عنوان یک توسعه‌دهنده یا ارائه‌دهنده خدمات، ایده خوبی است که به‌طور خودکار از راننده بخواهید «به دنبال پارکینگ در نزدیکی نوتردام هستید؟» تجربه کاربر بسته به دستگاه و صفحه نمایش متفاوت خواهد بود، اما یک متن پاپ آپ ظریف که پس از مدت کوتاهی ناپدید می شود، می تواند در این مورد ارزش بررسی داشته باشد. برای یافتن پارکینگ نزدیک نوتردام، جستجوی متنی Places API را با تنظیم پارامترهای نوع «parking» و شعاع «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

اولین نتیجه "پارکینگ سامز ماوبرت لاگرانژ" در 48.850591، 2.3486436 است. بیایید در قسمت بعدی که در حال انجام یک درخواست Directions API هستیم از این مکان استفاده کنیم.

درخواست 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" آخرین مرحله آخرین مرحله در مسیری که انتخاب کرده‌اید استفاده کنید.

این مکان ممکن است به نظر اولین انتخاب نباشد، اما وقتی به نقشه یا نمای خیابان گوگل نگاه می کنید، متوجه می شوید که این مکان در فاصله بسیار کمی پیاده روی، حدود 6-7 دقیقه، از نوتردام قرار دارد.

Walking route from parking to Notre Dame

مسیر پیاده روی از پارکینگ تا نوتردام

خلاصه برای مثال 1

همانطور که می بینید، پیدا کردن یک پارکینگ برای خودرو تنها به چند تماس API و نمایش پیشنهاد به راننده نیاز دارد. این باعث صرفه جویی در وقت کاربران شما می شود زیرا آنها در خیابان های یک طرفه رانندگی نمی کنند یا سعی نمی کنند مکانی برای ترک ماشین در یک جاذبه توریستی شلوغ پیدا کنند. به عنوان خلاصه، ما درخواست های API زیر را انجام دادیم:

  • درخواست Places API برای یافتن مختصات نوتردام
  • API Places برای یافتن یک پارکینگ در فاصله 300 متری آن مختصات درخواست می کند
  • یک درخواست Directions API برای یافتن مسیری به منطقه پارکینگ

مثال 2 - راهنمایی به ترمینال در یک فرودگاه بزرگ

Heathrow airport on map
بیایید مثال دیگری را در نظر بگیریم که در آن راننده سعی می کند به یک منطقه بزرگ که دارای چندین مکان، POI یا نقاط سقوط احتمالی است برسد. راننده از استادیوم ومبلی، انگلستان (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، آخرین قسمت سفر و مکان‌های پایانی lat & long مختصات (51.47079979999999،-0.4896765) را خواهید یافت.

Heathrow terminal 5

خلاصه برای مثال 2

مانند مثال قبلی، تلاش توسعه برای ارائه راهنمایی های بهتر به راننده بسیار اندک است و مزایای صرفه جویی در زمان برای راننده به راحتی اندازه گیری می شود. ما درخواست های زیر را انجام دادیم:

  • درخواست Places API برای یافتن فرودگاه هیترو
  • درخواست Places API برای یافتن تمام پایانه‌های نزدیک به مختصات فرودگاه هیترو
  • یک درخواست Directions API برای دریافت مسیری به ترمینال 5

نتیجه گیری

همانطور که می بینید، تلاش برای توسعه مورد نیاز برای ارائه خدمات ممتاز به مشتریان خود که با ماشین سفر می کنند، بسیار کم است و به شما امکان می دهد به راحتی نشان دهید که چگونه در مورد نیازهای مشتریان خود فکر می کنید.

برای اهداف توسعه می توانید از بسیاری از کتابخانه ها و ابزارهای موجود برای کمک به ایجاد خدمات برای مشتریان خود استفاده کنید. نگاهی به مخزن عمومی GitHub ما برای پلتفرم Google Maps بیندازید.

اقدامات بعدی

نویسنده اصلی

میکو تویوانن | مهندس راه حل های پلتفرم نقشه های گوگل