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

نسخه جدیدتری از این سند با مثال‌هایی از نحوه استفاده از APIهای جدید Places و Routes API وجود دارد.

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

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

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

مثال ۱ - یک جاذبه گردشگری بدون پارکینگ

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

Gare de l'Est

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

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

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

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 را با پارامترهای نوع «پارکینگ» و شعاع «۳۰۰» انجام دهید. این مثال نتایج را به سمت مکان‌های پارک در فاصله ۳۰۰ متری نوتردام متمایل می‌کند.

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» در آدرس ۴۸.۸۵۰۵۹۱ و ۲.۳۴۸۶۴۳۶ است. بیایید از این مکان در بخش بعدی که درخواست Directions API را انجام می‌دهیم، استفاده کنیم.

درخواست API مسیرها

برای پیدا کردن مسیر از ایستگاه به یک پارکینگ نزدیک به نوتردام، باید یک درخواست از API مربوط به مسیرها ارسال کنید. فقط پارامترهای مبدا و مقصد را تنظیم کنید. برای گزینه‌های بیشتر به مستندات توسعه‌دهنده مراجعه کنید.

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

پاسخ API مسیر معمولاً شامل چندین پیشنهاد مسیر است. هر مسیر شامل چندین «مرحله» است و این مراحل شامل چندین «گام» هستند که مسافت و مختصات سفر را نشان می‌دهند. برای یافتن مختصات نهایی قابل دسترسی با ماشین، از فیلد «end_location» آخرین مرحله از آخرین مرحله در مسیری که انتخاب کرده‌اید استفاده کنید.

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

Walking route from parking to Notre Dame

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

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

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

  • درخواست API مکان‌ها برای یافتن مختصات نوتردام
  • درخواست API مکان‌ها برای یافتن محل پارک در فاصله ۳۰۰ متری از آن مختصات
  • درخواست API مربوط به مسیرها برای یافتن مسیری به سمت پارکینگ

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

Heathrow airport on map
بیایید مثال دیگری را در نظر بگیریم که در آن راننده سعی دارد به یک منطقه بزرگ که دارای مکان‌ها، نقاط مورد علاقه یا نقاط پیاده شدن بالقوه متعددی است، برسد. راننده از ورزشگاه ومبلی، انگلستان (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

عبارت جستجوی بالا لیستی از ترمینال‌ها و نقاط پیاده شدن مسافران در آن ترمینال‌ها را به ما می‌دهد. از لیست نتایج می‌توانیم «ترمینال ۵ فرودگاه هیترو لندن» و شناسه مکان آن را پیدا کنیم:

 "place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",

با استفاده از پارامتر «place_id» می‌توانیم به API مربوط به Directions بگوییم که قصد داریم به جای مختصات دلخواه، به یک مکان خاص برسیم.

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

باز هم، مانند مثال قبلی، با خواندن تمام مراحل در پاسخ JSON، آخرین بخش سفر و مختصات طول و عرض جغرافیایی مکان‌های پایانی (51.4707999999999,-0.4896765) را پیدا خواهید کرد.

Heathrow terminal 5

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

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

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

نتیجه‌گیری

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

برای اهداف توسعه، می‌توانید از بسیاری از کتابخانه‌ها و ابزارهای موجود برای کمک به ساخت خدمات برای مشتریان خود استفاده کنید. نگاهی به مخزن گیت‌هاب ما که در دسترس عموم است برای پلتفرم نقشه‌های گوگل بیندازید.

اقدامات بعدی

نویسنده اصلی

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