نمای کلی
Google Maps Platform برای وب (JS، TS)، Android، و iOS دردسترس است و همچنین میاناهای برنامهسازی کاربردی سرویسهای وب را برای دریافت اطلاعات درباره مکانها، مسیرها، و فاصلهها ارائه میدهد. نمونههای این راهنما برای یک پلاتفرم نوشته شده است، اما پیوندهای مستندات برای پیادهسازی در پلاتفرمهای دیگر ارائه شده است.
Quick Builder در کنسول Google Cloud به شما امکان میدهد بااستفاده از میانای کاربر تعاملی که کد جاوا اسکریپت را برای شما تولید میکند، تکمیل خودکار فرم نشانی را بسازید.
خرید و سفارش آنلاین به بخشی همهجاگیر از زندگی ما تبدیل شده است. از خدمات ارسال کالا در همان روز تا رزرو تاکسی یا سفارش شام، مشتریان انتظار دارند فرایند تسویهحساب بدون دردسری داشته باشند.
بااینحال، در همه این برنامهها، وارد کردن نشانی برای صورتحساب یا ارسال همچنان یکی از موانع در روند تسویهحساب است که میتواند هم وقتگیر و هم دستوپاگیر باشد. تجربه تسویهحساب بدون اصطکاک در دنیای تلفن همراه اهمیت بیشتری پیدا میکند، جایی که وارد کردن متن پیچیده در صفحهنمایش کوچک میتواند ناامیدکننده باشد و مانع دیگری برای تبدیل مشتری ایجاد کند.
این سند راهنماییهای پیادهسازی را برای کمک به مشتریان شما ارائه میدهد تا فرایند تسویهحساب خود را با ورود پیشبینیکننده نشانی سریعتر انجام دهند.
نمودار زیر میاناهای برنامهسازی کاربردی اصلی درگیر در پیادهسازی «تسویهحساب» را نشان میدهد. برای بزرگ کردن نمودار، روی آن کلیک کنید.
درحال فعال کردن میاناهای برنامهسازی کاربردی
برای پیادهسازی «تسویهحساب»، باید میاناهای برنامهسازی کاربردی زیر را در کنسول Google Cloud فعال کنید:
برای کسب اطلاعات بیشتر درباره راهاندازی، به شروع کار با «پلاتفرم Google Maps» مراجعه کنید.
بخشهای تمرینها
بخشهای زیر شامل نکتهها و سفارشیسازیهایی است که به شما کمک میکند روند تسویهحساب را بهبود دهید.
- نماد تیک یک تمرین اصلی است.
- نماد ستاره یک سفارشیسازی اختیاری اما توصیهشده برای بهبود راهکار است.
| افزودن تکمیل خودکار به فیلدهای ورودی | فرم نشانی را بهطور خودکار تکمیل کنید. با افزودن عملکرد تایپ همزمان، تجربه کاربر را در همه پلاتفرمها بهبود دهید و دقت نشانی را با حداقل ضربه کلید بهبود دهید. | |
| ارائه تأیید دیداری با Maps Static API | مختصات عرض جغرافیایی/طول جغرافیایی را برای نشانی مشخصی پیدا کنید (زمینکدیابی)، یا مختصات عرض جغرافیایی/طول جغرافیایی مکان جغرافیایی را به نشانی تبدیل کنید (زمینکدیابی معکوس). | |
| نکتههایی برای بهبود بیشتر «تسویهحساب» | از ویژگیهای پیشرفته «تکمیل خودکار جا» استفاده کنید تا تجربه «تسویهحساب» را بهتر کنید. |
افزودن تکمیل خودکار به فیلدهای ورودی
| این مثال از این موارد استفاده میکند: کتابخانه جاها، Maps JavaScript API | همچنین دردسترس برای: Android | iOS |
«تکمیل خودکار جا» میتواند وارد کردن نشانی را در برنامهتان سادهتر کند و به نرخ تبدیل بالاتر و تجربه یکپارچه برای مشتریانتان منجر شود. «تکمیل خودکار» یک فیلد ورودی سریع و واحد با پیشبینی نشانی «پیشنویس» ارائه میدهد که میتوان از آن برای تکمیل خودکار فرم نشانی صورتحساب یا نشانی ارسال استفاده کرد.
با گنجاندن «تکمیل خودکار مکان» در سبد خرید آنلاینتان، میتوانید:
- خطاهای ورود نشانی را کاهش دهید.
- تعداد مراحل فرایند تسویهحساب را کاهش دهید.
- تجربه وارد کردن نشانی در دستگاههای همراه یا پوشیدنی را ساده کنید.
- تعداد کلیدهای فشردهشده و کل زمان لازم برای ثبت سفارش توسط مشتری را بهطور قابلتوجهی کاهش دهید.
وقتی کاربر چارگوش ورودی «تکمیل خودکار» را انتخاب میکند و شروع به تایپ میکند، فهرستی از پیشبینیهای نشانی ظاهر میشود:
وقتی کاربر آدرسی را از فهرست پیشبینیها انتخاب میکند، میتوانید از پاسخ برای درستیسنجی آدرس و دریافت مکان استفاده کنید. سپس برنامهتان میتواند فیلدهای صحیح فرم ورودی نشانی را پر کند:
ویدیوها: بهبود دادن فرمهای نشانی با «تکمیل خودکار جا»:
فرمهای نشانی
وب
Android
iOS
شروع به کار با «تکمیل خودکار جا»
با چند خط جاوا اسکریپت میتوانید «تکمیل خودکار جا» را در سایتتان بگنجانید.
میتوانید Maps JavaScript API را در سایتتان اضافه کنید و کتابخانه «جاها» را مشخص کنید، حتی اگر نقشهای را نمایش نمیدهید. مثال زیر نشان میدهد چگونه این کار را انجام دهید و تابع مقداردهی اولیه را اجرا کنید.
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initAutocomplete&solution_channel=GMP_guides_checkout_v1_a">
</script>سپس، برای ورودی کاربر، چارگوش نوشتاری به صفحهتان اضافه کنید:
<input id="autocomplete" placeholder="Enter your address"></input>درنهایت، سرویس «تکمیل خودکار» را مقداردهی اولیه کنید و آن را به چارگوش نوشتاری نامگذاریشده پیوند دهید:
function initAutocomplete() {
// Create the autocomplete object, restricting the search predictions to
// addresses in the US and Canada.
autocomplete = new google.maps.places.Autocomplete(address1Field, {
componentRestrictions: { country: ["us", "ca"] },
fields: ["address_components", "geometry"],
types: ["address"],
});
address1Field.focus();
// When the user selects an address from the drop-down, populate the
// address fields in the form.
autocomplete.addListener("place_changed", fillInAddress);
}
در مثال قبلی، شنونده رویداد place_changed زمانی راهاندازی میشود که
کاربر پیشبینی نشانی را انتخاب کند و تابع
fillInAddress اجرا شود.
این تابع، همانطور که در مثال زیر نشان داده شده است، پاسخ انتخابشده را میگیرد و
مؤلفههای نشانی را برای نمایش در فرم استخراج میکند.
TypeScript
function fillInAddress() { // Get the place details from the autocomplete object. const place = autocomplete.getPlace(); let address1 = ""; let postcode = ""; // Get each component of the address from the place details, // and then fill-in the corresponding field on the form. // place.address_components are google.maps.GeocoderAddressComponent objects // which are documented at http://goo.gle/3l5i5Mr for (const component of place.address_components as google.maps.GeocoderAddressComponent[]) { // @ts-ignore remove once typings fixed const componentType = component.types[0]; switch (componentType) { case "street_number": { address1 = `${component.long_name} ${address1}`; break; } case "route": { address1 += component.short_name; break; } case "postal_code": { postcode = `${component.long_name}${postcode}`; break; } case "postal_code_suffix": { postcode = `${postcode}-${component.long_name}`; break; } case "locality": (document.querySelector("#locality") as HTMLInputElement).value = component.long_name; break; case "administrative_area_level_1": { (document.querySelector("#state") as HTMLInputElement).value = component.short_name; break; } case "country": (document.querySelector("#country") as HTMLInputElement).value = component.long_name; break; } } address1Field.value = address1; postalField.value = postcode; // After filling the form with address components from the Autocomplete // prediction, set cursor focus on the second address line to encourage // entry of subpremise information such as apartment, unit, or floor number. address2Field.focus(); }
JavaScript
function fillInAddress() { // Get the place details from the autocomplete object. const place = autocomplete.getPlace(); let address1 = ""; let postcode = ""; // Get each component of the address from the place details, // and then fill-in the corresponding field on the form. // place.address_components are google.maps.GeocoderAddressComponent objects // which are documented at http://goo.gle/3l5i5Mr for (const component of place.address_components) { // @ts-ignore remove once typings fixed const componentType = component.types[0]; switch (componentType) { case "street_number": { address1 = `${component.long_name} ${address1}`; break; } case "route": { address1 += component.short_name; break; } case "postal_code": { postcode = `${component.long_name}${postcode}`; break; } case "postal_code_suffix": { postcode = `${postcode}-${component.long_name}`; break; } case "locality": document.querySelector("#locality").value = component.long_name; break; case "administrative_area_level_1": { document.querySelector("#state").value = component.short_name; break; } case "country": document.querySelector("#country").value = component.long_name; break; } } address1Field.value = address1; postalField.value = postcode; // After filling the form with address components from the Autocomplete // prediction, set cursor focus on the second address line to encourage // entry of subpremise information such as apartment, unit, or floor number. address2Field.focus(); } window.initAutocomplete = initAutocomplete;
پساز دریافت این دادهها، میتوانید از آن بهعنوان نشانی منطبق برای کاربرتان استفاده کنید. با چند خط کد میتوانید مطمئن شوید که مشتری در مدت کوتاهی نشانی درست را وارد میکند.
در این نمونه کد، نسخه نمایشی کاری و کد منبع کامل برای تکمیل فرم ورودی نشانی ببینید.
ملاحظات هنگام پیادهسازی «تکمیل خودکار جا»
«جایگذاری خودکار» چندین گزینه ارائه میدهد که به شما امکان میدهد پیادهسازیتان را سفارشیسازی کنید اگر میخواهید از چیزی فراتر از ابزارک استفاده کنید. میتوانید از ترکیبی از سرویسها برای مطابقت دقیق مکانها استفاده کنید.
-
برای فرم نشانی، پارامتر
typesرا رویaddressتنظیم کنید تا مطابقتها به نشانیهای کامل خیابان محدود شود. درباره انواع پشتیبانیشده در درخواستهای «تکمیل خودکار مکان» بیشتر بدانید. -
اگر نیازی به جستجوی سراسری ندارید، محدودیتها و سوگیریهای مناسب را تنظیم کنید. میتوانید از
چندین پارامتر برای سوگیری یا محدود کردن مطابقتها به مناطق خاص استفاده کنید.
-
از
boundsبرای تنظیم محدودههای مستطیلی برای محدود کردن ناحیه استفاده کنید. ازstrictBoundsاستفاده کنید تا مطمئن شوید فقط نشانیهای آن مناطق برگردانده میشود. -
از
componentRestrictionsبرای محدود کردن پاسخها به مجموعه خاصی از کشورها استفاده کنید.
-
از
- فیلدها را قابلویرایش بگذارید تا اگر فیلدهای خاصی در تطابق ازقلم افتاده بود، مشتریان بتوانند درصورت نیاز نشانی را بهروز کنند. چون اکثر نشانیهای برگرداندهشده توسط «تکمیل خودکار جا» حاوی شمارههای فرعی مانند شماره آپارتمان، سوئیت، یا واحد نیستند، این نمونه تمرکز را به «خط نشانی ۲» منتقل میکند تا کاربر را تشویق کند درصورت لزوم آن اطلاعات را تکمیل کند.
ارائه تأیید تصویری با Maps Static API
پساز اینکه مشتری نشانیاش را وارد کرد، با نقشه ایستا تأیید بصری از مکان تحویل یا تحویل گرفتن ارائه دهید. این کار به مشتری اطمینان بیشتری میدهد که نشانی صحیح است و باعث کاهش تحویل یا تحویلگیری ناموفق میشود. میتوانید نقشه ثابت را در صفحه ورود نشانی نمایش دهید یا آن را در ایمیل تأیید پساز تکمیل تراکنش بگنجانید.
میتوانید هر دو مورد استفاده را با Maps Static API پیادهسازی کنید، که نسخه تصویری نقشه را به هر برچسب تصویر در صفحه یا ایمیل اضافه میکند.
شروع به کار با Maps Static API
میتوانید ازطریق فراخوانی سرویس وب از «میانای برنامهسازی کاربردی Maps Static» استفاده کنید که براساس پارامترهایی که مشخص میکنید نسخه تصویری نقشه را ایجاد میکند. مانند نقشه پویا، میتوانید نوع نقشه را مشخص کنید، از همان سبکهای مبتنی بر ابر استفاده کنید، و برای متمایز کردن مکان، نشانگر اضافه کنید.
فراخوانی زیر نقشه راهی را با اندازه ۶۰۰ در ۳۰۰ پیکسل نشان میدهد که مرکز آن Googleplex در مانتین ویو، کالیفرنیا با سطح بزرگنمایی ۱۳ است. همچنین نشانگر مکان تحویل آبی و سبک نقشه آنلاین را مشخص میکند.
https://maps.googleapis.com/maps/api/staticmap?center=37.422177,-122.084082
&zoom=13
&size=600x300
&maptype=roadmap
&markers=color:blue%7Clabel:S%7C37.422177,-122.084082
&map_id=8f348d1b5a61d4bb
&key=YOUR_API_KEY
&solution_channel=GMP_guides_checkout_v1_a
این بخش به بخشهای زیر تقسیم میشود:
| نشانی وب میانای برنامهسازی کاربردی | https://maps.googleapis.com/maps/api/staticmap? |
| مرکز نقشه | center=37.422177,-122.084082 |
| سطح بزرگنمایی | zoom=13 |
| اندازه تصویر | size=600x300 |
| نوع نقشه | maptype=roadmap |
| نشانگرهای مکان فروشگاه | markers=color:blue%7Clabel:C%7C37.422177,-122.084082 |
| سبک نقشه ابری | map_id=8f348d1b5a61d4bb |
| کلید API | key=YOUR_API_KEY |
| پارامتر کانال راهحل. برای اطلاعات بیشتر، مستندات پارامتر را ببینید. | solution_channel=GMP_guides_checkout_v1_a |
درخواست تصویر زیر را برمیگرداند:
برای کسب اطلاعات بیشتر درباره گزینههای Maps Static API، مستندات را ببینید.
نکاتی برای بهبود بیشتر «تسویهحساب»
با بهرهگیری از برخیاز ویژگیهای پیشرفتهای که «تکمیل خودکار جا» ارائه میدهد، میتوانید تجربه مشتریتان را بیشتر بهبود دهید. در اینجا چند نکته برای بهبود کادر ورودی نشانی «تکمیل خودکار» آورده شده است:
-
به کاربران اجازه دهید نشانی را براساس نام کسبوکار یا نقطه موردعلاقه وارد کنند.
خدمات پیشبینی «تایپ سریع» نه تنها برای نشانیها کار میکند، بلکه میتوانید انتخاب کنید که
نامهای کسبوکار یا نشانگرهای مکانی نیز وارد شوند. پساز اینکه کاربر نام کسبوکاری را وارد کرد، میتوانید
نشانی را با فراخوانی
جزئیات مکان بازیابی کنید.
برای اینکه هم نشانیها و هم نامهای مؤسسه وارد شود،
دارایی
typesرا از تعریف «تکمیل خودکار» بردارید. - ظاهر و عملکرد چارگوش «تکمیل خودکار جا» را سفارشیسازی کنید تا با سبک وبسایتتان مطابقت داشته باشد. همچنین میتوانید ابزاره تکمیل خودکار را سبکبندی کنید تا با ظاهر و احساس سبد خریدتان مطابقت داشته باشد. میتوانید از کلاسهای CSS برای سفارشیسازی ظاهر ابزاره استفاده کنید. برای اطلاعات بیشتر، به سبک تکمیل خودکار مراجعه کنید.
- رابط کاربری سفارشی بسازید. اگر میخواهید بهجای استفاده از واسط کاربر طراحیشده توسط Google، واسط کاربر سفارشی بسازید، سرویس «تکمیل خودکار مکان» را بهصورت برنامهنویسی فراخوانی کنید تا پیشبینیهای ورودی دادهشده را بازیابی کنید. میتوانید پیشبینیهای «تکمیل خودکار جا» را بهصورت برنامهنویسیشده در جاوا اسکریپت، Android، و iOS بازیابی کنید و همچنین مستقیماً ازطریق Places API با میانای برنامهسازی کاربردی خدمات وب تماس بگیرید.