نمای کلی
«پلاتفرم Google Maps» برای وب (JS، TS)، Android، و iOS دردسترس است، و همچنین میاناهای برنامهسازی کاربردی خدمات وب برای دریافت اطلاعات درباره مکانها، مسیرها، و فاصلهها ارائه میدهد. نمونههای این راهنما برای یک پلاتفرم نوشته شده است، اما پیوندهای مستندات برای پیادهسازی در پلاتفرمهای دیگر ارائه شده است.
«سازنده سریع» در کنسول Google Cloud به شما امکان میدهد بهسرعت مکانیابی بسازید، ازجمله فهرستگان «نمایه کسبوکار» را وارد کنید و پیوندهای رزرو قرار ملاقات را از ارائهدهندگان شخص ثالث بهطور خودکار جاسازی کنید. میانای کاربری تعاملی به شما امکان میدهد در عرض چند دقیقه کد تولید کنید و در Cloud مستقر کنید.
کاربران شما میخواهند محصولات و خدمات را بهصورت آنلاین تحقیق کنند و بهترین و راحتترین مکان را برای بازدید، قرار ملاقات، یا تحویل سفارش پیدا کنند. آنها میخواهند در سریعترین زمان ممکن به مکان شما برسند و شما میخواهید تجربههای آنلاین غنیای به آنها ارائه دهید که بازدید از مکانهای فیزیکی شما را افزایش دهد، رضایت کاربر را تقویت کند، و تماسهای پشتیبانی را کاهش دهد. همچنین میخواهید موفقیت مکانیاب خود را اندازهگیری کنید تا ببینید آیا مشتریان شما میتوانند مکان شما را پیدا کنند یا نه، و میخواهید بدانید کجا باید بهبود ایجاد کنید.
Locator Plus—راهنماییها و نکتههای سفارشیسازی که در این سند ارائه میدهیم—چیزی است که بهعنوان ترکیب بهینه «میاناهای برنامهسازی کاربردی پلاتفرم Google Maps» برای ساختن تجربههای کاربری مکانیاب عالی توصیه میکنیم. با پیروی از این رویهها، میتوانید به کاربران کمک کنید مکانهایتان را روی نقشه پیدا کنند، اطلاعات دقیقی را که برای تصمیمگیری نیاز دارند ببینند، و مسیرهای رسیدن به مکانهایتان را دریافت کنند، چه با خودرو، دوچرخه، پیاده، یا با وسایل حملونقل عمومی سفر کنند.
برای کاربران «مکانیاب پلاس»، داشبورد تجزیهوتحلیل به شما کمک میکند اطلاعات آماری از دادههایتان تجزیهوتحلیل و تولید کنید و تصویری واضح از میزان تعامل خریداران با مکانیاب فروشگاهتان به شما ارائه میدهد. برای دسترسی به این گزارش، به بخش گزارشهای تعامل کنسول بروید. برای جزئیات بیشتر درباره این گزارش، به گزارشهای تعامل مراجعه کنید.
نمودار زیر میاناهای برنامهسازی کاربردی اصلی درگیر در پیادهسازی «مکانیاب پلاس» را نشان میدهد. این نمودار همچنین پایگاه دادهای از دادههای مکان خودتان را نشان میدهد که میتوانید آن را با «جزئیات مکان» ترکیب کنید تا بهترین و کاملترین مجموعه اطلاعات ممکن را به کاربران ارائه دهید. (برای بزرگ کردن کلیک کنید.)
درحال فعال کردن میاناهای برنامهسازی کاربردی
برای پیادهسازی این رویهها، باید میاناهای برنامهسازی کاربردی زیر را در کنسول Google Cloud فعال کنید: برای اطلاعات بیشتر درباره راهاندازی، شروع کار با «پلاتفرم Google Maps» را ببینید.بخشهای پیادهسازی
در این سند، به شیوهها و سفارشیسازیهای زیر میپردازیم.
- نماد تیک یک تمرین اصلی است.
- نماد ستاره یک سفارشیسازی اختیاری اما توصیهشده برای بهبود راهکار است.
| نمایش مکانهای شما در نقشه تعاملی |
نقشهای بسازید که به کاربران امکان دهد جزئیات مکان را ببینند، در آن جابهجا شوند، و بزرگنمایی و کوچکنمایی کنند. یا راهکار Quick Builder Locator Plus را کاوش کنید تا بهسرعت نقشه بسازید، ازجمله وارد کردن جزئیات کسبوکار از فهرستگان «نمایه کسبوکار» ، جاسازی پیوندهای رزرو قرار، و استقرار در Google Cloud Storage. |
|
| ارائه جزئیات مکان | پساز اینکه کاربران نزدیکترین مکانهای شما را روی نقشه پیدا کردند، «جزئیات مکان» معناداری درباره مکانها به آنها ارائه دهید تا به آنها در تصمیمگیری کمک کنید. | |
| نمایش مکانها از نمای ۴۵ درجه | نمای ماهوارهای مکانتان را از زاویه ۴۵ درجه به کاربران نشان دهید تا دید بهتری از مکانتان داشته باشند. | |
| شناسایی مکان کاربر | عملکرد تایپ همزمان را اضافه کنید تا تجربه کاربر در همه پلاتفرمها بهبود یابد و دقت نشانی با حداقل ضربه کلید بهبود یابد. | |
| نمایش مدت سفر و فاصله تا نزدیکترین مکانها | فاصله و زمان سفر را برای مبدأ و مقصد متعدد محاسبه کنید، و درصورت تمایل، انواع مختلف حملونقل مثل پیادهروی، رانندگی، یا دوچرخهسواری را مشخص کنید. | |
| کمک به کاربران برای رزرو قرار |
به کاربران اجازه دهید از پانل کناری «جزئیات مکان» نوبت رزرو کنند. یا راهکار Quick Builder Locator Plus را کاوش کنید تا بهسرعت نقشه بسازید، ازجمله وارد کردن جزئیات کسبوکار از فهرستگان «نمایه کسبوکار» ، جاسازی پیوندهای رزرو قرار، و استقرار در Google Cloud Storage. |
|
| نمایش پیشنهادهای ویژه محلی | پیشنهادهای ویژه محلی کلیککردنی را در پانل کناری «جزئیات مکان» به کاربران نشان دهید. | |
| ارائه دستورالعملهای پیمایش | دادههای مسیر را از مبدأ تا مقصد بااستفاده از انواع مختلف حملونقل مثل پیادهروی، رانندگی، دوچرخهسواری، و حملونقل عمومی دریافت کنید. | |
| درحال سفارشیسازی کردن نقشه | نشانگرهای نقشه سفارشی ایجاد کنید تا مکانهایتان متمایز شود و نقشه را با رنگهای نمانامتان هماهنگ کنید. نقطههای موردعلاقه (POI) خاصی را در نقشه نمایش دهید (یا پنهان کنید) تا به کاربران کمک کنید بهتر جهتیابی کنند، و تراکم نقطههای موردعلاقه را کنترل کنید تا از شلوغی نقشه جلوگیری کنید. | |
| کسب اطلاعات آماری استفاده با Analytics | Google Analytics را پیکربندی و از آن استفاده کنید تا درباره استراتژی مکانیاب و پیادهسازی آن اطلاعات آماری کسب کنید. | |
| درحال ارسال مسیرها به تلفن همراه | علاوهبر نمایش مسیرها در مکانیاب، میتوانید مسیرها را به تلفن کاربر نیز ارسال کنید تا بااستفاده از Google Maps درحال حرکت ناوبری کند. | |
| نمایش «نمای خیابان» برای کمک به کاربران در تجسم مکانها | تصاویر «نمای خیابان» با نمای ۳۶۰ درجه به کاربران ارائه دهید تا بهتر جهتیابی کنند و مکانهایتان را سریعتر پیدا کنند. | |
| تعیین مکان کاربر با «مکان جغرافیایی» | اگر نمیخواهید به خدمات مکان دروندستگاهی تکیه کنید، از «مکان جغرافیایی» برای کمک به شناسایی مکان کاربر استفاده کنید. | |
| ترکیب کردن دادههای مکان سفارشی با «جزئیات مکان» | جزئیات مکان سفارشی خودتان را با «جزئیات مکان» ترکیب کنید تا مجموعه کاملی از دادهها را برای تصمیمگیری دراختیار کاربران قرار دهید. |
نمایش مکانهای شما در نقشه تعاملی
مکانیاب بخش مهمی از تجربه کاربری است. بااینحال، برخیاز سایتها ممکن است حتی نقشه نداشته باشند و کاربران را ملزم کنند برای یافتن مکان نزدیک، سایت یا برنامه را ترک کنند. این یعنی تجربه کاربری برای کاربرانی که باید برای دریافت اطلاعات موردنیازشان بین صفحهها پیمایش کنند بهینه نیست. درعوض، میتوانید با جاسازی و سفارشیسازی نقشهها در برنامههایتان، این تجربه را بهبود دهید.
میتوانید این عملکرد را به دو روش فعال کنید: بااستفاده از راهحل «مکانیاب سازنده سریع پلاس» برای ارائه آن بهصورت آماده، یا بااستفاده از پیادهسازی «نقشههای پویا» خودتان. این بخش این گزینهها را بهطور مفصل شرح میدهد.
استفاده از «مکانیاب سازنده سریع پلاس»
میتوانید از راهحل «مکانیاب سازنده سریع پلاس» برای وارد کردن جزئیات کسبوکار از «نمایه کسبوکار» خودتان استفاده کنید. بنابراین اکنون، تغییر در جزئیات کسبوکار «نمایه کسبوکار» شما در مکانیاب فروشگاه در وبسایتتان منعکس خواهد شد. این تغییرات میتواند شامل ساعت کاری، اطلاعات تماس، عکسها، گزینههای خدمات، و موارد دیگر باشد. «سازنده سریع» به شما امکان میدهد راهاندازی مکانهای کسبوکار را روی نقشه بهسرعت کاوش کنید، کد قابلپیادهسازی تولید کنید، یا در چند دقیقه مستقیماً در Google Cloud Storage پیادهسازی کنید.
استفاده از پیادهسازی «نقشههای پویا» خودتان
| این مثال از موارد زیر استفاده میکند: Maps JavaScript API | همچنین دردسترس است: Android | iOS |
افزودن نقشه پویا به صفحهتان—یعنی نقشهای که کاربران بتوانند در آن حرکت کنند، زومپیش و زومپس کنند، و درباره مکانهای مختلف و نقاط موردعلاقه جزئیات دریافت کنند—با چند خط کد امکانپذیر است.
ابتدا باید «میانای برنامهسازی کاربردی جاوا اسکریپت در Maps» را در صفحه بگنجانید.
این کار ازطریق پیوند دادن نوشتار زیر در صفحه HTML شما انجام میشود، ازجمله
libraries=marker تا بتوانید نشانگرهای پیشرفته را به نقشه اضافه کنید.
<script defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=marker&callback=initMap&solution_channel=GMP_guides_locatorplus_v2_a"></script>
نشانی وب به تابع جاوا اسکریپت initMap که هنگام بار شدن صفحه اجرا میشود ارجاع میدهد. در نشانی وب، میتوانید زبان یا منطقه نقشهتان را نیز تعریف کنید تا مطمئن شوید برای کشور خاصی که هدفیابی میکنید، بهدرستی قالببندی شده است. تنظیم منطقه همچنین تضمین میکند که عملکرد برنامههایی که خارج از ایالات متحده استفاده میشوند به منطقه تنظیمشده شما گرایش داشته باشد. برای فهرست کامل زبانها و مناطق پشتیبانیشده،
جزئیات پوشش «پلاتفرم Google Maps»
را مشاهده کنید و درباره
region
استفاده از پارامتر بیشتر بدانید.
سپس، به div HTML نیاز دارید تا نقشهتان را در صفحه قرار دهید.
اینجا جایی است که نقشه نمایش داده خواهد شد.
<div id="map"></div>
مرحله بعدی تنظیم عملکرد اصلی نقشه است. این کار در تابع
initMap اسکریپت مشخصشده در نشانی وب اسکریپت انجام میشود. در این نوشتار،
که در مثال زیر نشان داده شده است، میتوانید مکان اولیه،
شناسه نقشه (برای
نشانگرهای پیشرفته و سبکپردازی نقشه بااستفاده از فضای ابری الزامی است)،
نوع نقشه، و
کنترلهایی را که در نقشه برای کاربران دردسترس خواهد بود تنظیم کنید. توجه داشته باشید که
getElementById() به شناسه «نقشه» div در مثال
قبلی ارجاع میدهد.
function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 12, center: { lat: 51.485925, lng: -0.129500 }, mapId: "DEMO_MAP_ID", zoomControl: false }); }
برای مکانیاب، معمولاً به تنظیم مکان اولیه، نقطه مرکزی یا حدود، و سطح بزرگنمایی (میزان بزرگنمایی نقشه در آن مکان) علاقهمند هستید. بیشتر عناصر دیگر، مانند تنظیم کنترلها، اختیاری هستند زیرا سطح تعامل با نقشه را شما تعیین میکنید.
درحال دریافت شناسههای مکان
| این مثال از موارد زیر استفاده میکند: Places API (جدید) | همچنین دردسترس است: JavaScript |
احتمالاً پایگاه دادهای از مکانهایتان با اطلاعات پایه مثل نام آن مکان، نشانی، و شماره تلفن آن دارید. برای واکشی اطلاعاتی که «پلاتفرم Google Maps» درباره آن مکان دارد، ازجمله مختصات جغرافیایی و اطلاعات همیاری کاربر، شناسه مکان
متناظر با هریک از مکانهای پایگاه دادهتان را پیدا کنید. میتوانید
با
نقطه پایانی «جستجوی نوشتاری» (جدید) در Places API (جدید)
تماس بگیرید و فقط فیلد places.id را در پوشش فیلد درخواست کنید (که
شناسههای «ملزومات جستجوی نوشتاری» فقط واحد نگهداری کالا را راهاندازی میکند).
در اینجا نمونهای از درخواست شناسه مکان برای دفتر Google در لندن آورده شده است:
curl -X POST -d '{
"textQuery" : "Google London"
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'میتوانید این شناسه مکان را در پایگاه دادهتان ذخیره کنید و از آن بهعنوان روشی کارآمد برای درخواست اطلاعات درباره مکان استفاده کنید. در زیر دستورالعملهایی برای استفاده از شناسه مکان برای زمینکد کردن، بازیابی «جزئیات مکان»، و درخواست مسیرها به مکان آورده شده است.
زمینکدیابی مکانهای شما
| این مثال از موارد زیر استفاده میکند: Geocoding API | همچنین دردسترس است: JavaScript |
اگر پایگاه داده مکانهای شما نشانی خیابان دارد اما مختصات جغرافیایی ندارد، از «میانای برنامهسازی کاربردی زمینکدگذاری» برای دریافت عرض و طول جغرافیایی آن نشانی برای اهداف قرار دادن نشانگر روی نقشه استفاده کنید. میتوانید نشانیهایتان را در سمت سرور زمینکدگذاری کنید، عرض و طول جغرافیایی را در پایگاه دادهتان ذخیره کنید، و حداقل هر ۳۰ روز یکبار بازآوری کنید.
در اینجا نمونهای از استفاده از Geocoding API برای دریافت عرض و طول جغرافیایی شناسه مکانی که برای دفتر Google در لندن برگردانده شده است آورده شده است:
https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJVSZzVR8FdkgRTyQkxxLQmVU&key=YOUR_API_KEY&solution_channel=GMP_guides_locatorplus_v2_aدرحال افزودن مکانها به نقشه
مرحله بعدی افزودن مکانهایتان به نقشه است. این کار معمولاً با افزودن نشانگرهای پیشرفته به نقشه انجام میشود، هرچند گزینههای دیگری نیز وجود دارد که میتوانید از آنها استفاده کنید، مثل لایههای داده.
وقتی طول و عرض جغرافیایی مکانتان را داشته باشید، در اینجا نمونهای از افزودن نشانگر پیشرفته با گلیکوف نوشتار سفارشی به نقشه ارائه شده است:
const pin = new google.maps.marker.PinElement({ glyphText: "A", }); const marker = new google.maps.marker.AdvancedMarkerElement({ map, position: { lat: 51.493073, lng: -0.146550 }, title: "Location Name", }); marker.append(pin);
با چند نشانگر، میتوانید مکان تعدادی از مکانها را بهطور همزمان ببینید.
اگر تعداد مکانها زیاد است، میتوانید از ابزار خوشهبندی نشانگر برای JavaScript، Android، یا iOS استفاده کنید. در اینجا نمونهای از خوشهبندی نشانگر در نمونه GitHub مکانیاب فروشگاه JavaScript ارائه شده است.
درحال ارائه جزئیات مکان
| این مثال از موارد زیر استفاده میکند: Maps JavaScript API | همچنین دردسترس است: Places API (جدید) | Android | iOS |
میتوانید «جزئیات مکان» را که کاربران باید قبلاز بازدید از یکی از مکانهایتان بدانند همرسانی کنید. با «جزئیات مکان» غنی مثل اطلاعات تماس، ساعات کاری، ردهبندیهای کاربر، عکسهای کاربر، و وضعیت بسته شدن موقت، کاربران شما دقیقاً میدانند هنگام بازدید از مکان شما چه انتظاری داشته باشند. پساز تماس با Places API (جدید)، میتوانید پاسخ را در پنجره اطلاعات، نوار کناری وب، یا به هر روش دیگری که میخواهید فیلتر و پردازش کنید.
برای درخواست «جزئیات مکان»، به شناسه مکان هریک از مکانهایتان نیاز دارید. برای بازیابی شناسه مکان مکانتان، دریافت شناسههای مکان را ببینید.
برای دیدن ویدیوهای درخواست «جزئیات مکان»، ازهم باز کنید:
دریافت ساعات کاری
بررسی بستهشدنها
کنترل هزینهها
مثال زیر از کلاس مکان در «کتابخانه جاها»، Maps JavaScript API برای بازیابی «جزئیات مکان» و افزودن آنها به «پنجره اطلاعات» استفاده میکند. این پیادهسازی از استراتژی صرفهجویی در هزینه استفاده میکند و درخواست «جزئیات مکان» را فقط زمانی راهاندازی میکند که کاربر با کلیک کردن روی نشانه جزئیات را درخواست کند، بهجای اینکه جزئیات همه مکانها را بدون توجه به علاقه کاربر ازقبل واکشی کند.
const marker = new google.maps.marker.AdvancedMarkerElement({ map, position: { lat: 51.493073, lng: -0.14655 }, gmpClickable: true, }); const place = new google.maps.places.Place({ id: "ChIJVSZzVR8FdkgRTyQkxxLQmVU", }); const infowindow = new google.maps.InfoWindow(); marker.addEventListener("gmp-click", async () => { await place.fetchFields({ fields: ["displayName", "formattedAddress", "rating", "websiteURI"], }); infowindow.setContent( "<div><strong>" + place.displayName + "</strong><br>" + place.formattedAddress + "<br>" + "Rating: " + place.rating + " stars<br>" + place.websiteURI + "</div>" ); infowindow.open({ map, anchor: marker, }); });
نمایش مکانها از نمای ۴۵ درجه
| این مثال از موارد زیر استفاده میکند: Maps JavaScript API | همچنین دردسترس است: Android | iOS |
ارائه نمای هوایی از مکانتان به کاربران کمک میکند تا تصویر واضحتری از آن داشته باشند و درنتیجه آن را راحتتر پیدا کنند. وقتی کاربر یک مکان را انتخاب میکند تا جزئیات بیشتری ببیند، میتوانید روی آن مکان زومپیش کنید تا تصاویر ماهوارهای دردسترس را از زاویه ۴۵ درجه نمایش دهید.
نمونه کد زیر نقشه را روی سطح بزرگنمایی بالا، نوع نقشه سازگار، و زاویه شیبی تنظیم میکند که درصورت دردسترس بودن، تصاویر ۴۵ درجه را نمایش میدهد. جزئیات مربوط به دردسترس بودن تصاویر با زاویه ۴۵ درجه در اسناد توضیح داده شده است.
function seeDetail(location) {
map.setCenter(location);
map.setZoom(19);
map.setMapTypeId(google.maps.MapTypeId.HYBRID);
map.setTilt(45);
}درحال بازنشانی به نمای اصلی نقشه
کاربران اغلب میخواهند بین نمای تفصیلی یک مکان واحد و نمای خلاصه چندین مکان نزدیک جابهجا شوند. برای تسهیل این کار، شنوندهای اضافه کنید تا وقتی کاربر نمای جزئیات را در تعاملات نقشه یا در نمای فهرست ترک میکند، آن را تشخیص دهد. برای مثال، گوش دادن به رویداد zoom_changed در
شیء map
نشان میدهد که کاربر یا بهصورت دستی از نمای جزئیات کوچکنمایی کرده است یا تابع دیگری را فراخوانده است که سطح بزرگنمایی را بهروز کرده است. در این نمونه، کوچکنمایی کردن نقشه را به نوع و کجی اصلی نقشه بازنشانی میکند.
let originalMapTypeId = google.maps.MapTypeId.ROADMAP; map.addListener("zoom_changed", () => { const newZoom = map.getZoom()!; if (newZoom < 19) { map.setTilt(0); map.setMapTypeId(originalMapTypeId); } });
درحال شناسایی مکان کاربر شما
| این مثال از موارد زیر استفاده میکند: Maps JavaScript API | همچنین دردسترس است: Android | iOS |
مؤلفه کلیدی بعدی در هر مکانیابی، شناسایی مکان شروع کاربر است. بهطور پیشفرض، میتوانید از خدمات مکان تلفن همراه و مکان جغرافیایی مرورگر وب برای درخواست اجازههای کاربر برای تنظیم مبدأ بهعنوان مکان فعلی کاربر استفاده کنید. بااینحال، کاربر ممکن است این اجازهها را رد کند یا بخواهد مکان دیگری را بهعنوان نقطه شروع خود تنظیم کند.
کاربران امروزی به عملکرد پیشاز تکمیل نوع در نسخه مصرفکننده «نقشههای Google» عادت کردهاند. این کارکرد را میتوان بااستفاده از کتابخانههای «مکانهای پلاتفرم Google Maps» در دستگاههای همراه و وب در هر برنامهای ادغام کرد. وقتی کاربر نشانیای را تایپ میکند، تکمیل خودکار بااستفاده از ابزارکها بقیه آن را تکمیل میکند. همچنین میتوانید عملکرد تکمیل خودکار خودتان را بااستفاده از Place Autocomplete Data API مستقیماً ارائه دهید.
افزودن کتابخانه «تکمیل خودکار مکان» به سایتتان فقط به افزودن چند پارامتر پُرسمان به نشانی وب نوشتار Maps JavaScript API نیاز دارد. در مثال زیر،
افزودن libraries=places,marker است.
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places,marker&callback=initMap&solution_channel=GMP_guides_locatorplus_v2_a" defer></script>
سپس، عنصر ظرفی را به صفحهتان اضافه کنید که در آن
PlaceAutocompleteElement
ابزاره پیوست خواهد شد.
<div id="autocomplete-container"></div>
درنهایت، ابزاره PlaceAutocompleteElement را مقداردهی اولیه کنید و آن را به
محتوی پیوست کنید. با محدود کردن
پیشبینیهای تکمیل خودکار مکان
با includedPrimaryTypes: ["geocode"]، ابزارک پیکربندی میشود
تا نشانیهای خیابان، محلهها، شهرها، و کد پستی را بپذیرد تا کاربران بتوانند هر
سطح خاصی را برای توصیف مبدأ خود وارد کنند. وقتی کاربر پیشبینیای را انتخاب میکند،
رویداد gmp-select راهاندازی میشود و میتوانید place.fetchFields() را برای
درخواست فیلد location حاوی عرض و طول جغرافیایی مبدأ کاربر
فراخوانی کنید. از این مختصات نقشه برای دوباره متمرکز کردن نقشه و نشان دادن رابطه
مکانهایتان با مبدأ استفاده خواهید کرد.
// Create the PlaceAutocompleteElement, restricting predictions to // geographical location types in the United Kingdom. const placeAutocomplete = new google.maps.places.PlaceAutocompleteElement({ includedPrimaryTypes: ["geocode"], includedRegionCodes: ["gb"], }); placeAutocomplete.placeholder = "Enter starting address, city, or zip code"; document.getElementById("autocomplete-container").appendChild(placeAutocomplete); // When the user selects an address from the drop-down, // zoom to the selected location and add an advanced marker. placeAutocomplete.addEventListener("gmp-select", async ({ placePrediction }) => { const place = placePrediction.toPlace(); await place.fetchFields({ fields: ["location", "formattedAddress"], }); addUserLocation(place); }); }
در این مثال، پساز اینکه کاربر نشانی را انتخاب کرد، تابع addUserLocation() اجرا میشود. با این کار، مکان نتیجه منطبق گرفته میشود، نقشه به آن مکان منتقل میشود، و نشانگر پیشرفتهای اضافه میشود.
function addUserLocation(place) { const pin = new google.maps.marker.PinElement({ glyphText: "C", }); // Add an advanced marker to the map. const marker = new google.maps.marker.AdvancedMarkerElement({ map, position: place.location, }); marker.append(pin); // Pan and zoom the map to the marker. map.panTo(place.location); map.setZoom(12); }
سپس میتوانید رابطه بین کاربر و هر مکان خاصی را که در تصویر زیر نشان داده شده است ببینید.
برای دیدن ویدیوهای گامبهگام افزودن «تکمیل خودکار مکان» به برنامهتان، این بخش را ازهم باز کنید:
وبسایت
Android Apps
برنامههای iOS
نمایش دادن مدتزمان سفر و فاصله تا نزدیکترین مکانها
| این مثال از موارد زیر استفاده میکند: میانای برنامهسازی کاربردی «مسیرها» | همچنین دردسترس است: کتابخانه مسیرها، Maps JavaScript API |
وقتی مکان کاربر را دریافت کردید، میتوانید آن را با مکانهای خودتان مقایسه کنید. انجام این کار با ویژگی
محاسبه ماتریس مسیر در
«میانای برنامهسازی کاربردی مسیرها» (یا کلاس RouteMatrix
در «کتابخانه مسیرها»، «میانای برنامهسازی کاربردی جاوااسکریپت Maps») به کاربران شما کمک میکند
مکانهایی را که ازنظر زمان رانندگی یا فاصله جادهای برایشان راحتتر است انتخاب کنند.
نمایش مکانهای نزدیک کاربر به این معنی است که مکانهایتان را ازقبل جمعآوری کردهاید. هنگام استفاده از پایگاه داده مکانهای خودتان، نکته مهم این است که مطمئن شوید دادهها در قالبی باشند که بتواند در نقشه استفاده شود، مثل GeoJSON که در موضوع لایه داده توضیح داده شده است.
روش استاندارد برای سازماندهی فهرست مکانها، مرتب کردن آنها براساس فاصله است. اغلب این فاصله بااستفاده از خط مستقیم از کاربر تا مکان محاسبه میشود، اما این میتواند گمراهکننده باشد. خط مستقیم ممکن است از روی رودخانهای غیرقابل عبور یا از میان جادههای شلوغ در زمانی که مکان دیگری ممکن است راحتتر باشد عبور کند. این موضوع زمانی اهمیت دارد که چندین مکان در چند کیلومتری یکدیگر داشته باشید.
روش computeRouteMatrix با دریافت فهرستی از مکانهای مبدأ و مقصد کار میکند و
نه تنها فاصله سفر بلکه زمان سفر بین آنها را نیز برمیگرداند. در مورد کاربر،
مبدأ مکان فعلی او یا نقطه شروع ترجیحی او خواهد بود، و
مقصدها مکانهای موردنظر خواهند بود.
مبدأ و مقصد را میتوان بهصورت جفت مختصات، شناسههای مکان، یا نشانی مشخص کرد. میتوانید از
computeRouteMatrix با اولویتهای مسیریابی مثل TRAFFIC_AWARE
برای نمایش نتایج براساس زمانهای رانندگی کنونی یا آینده استفاده کنید.
مثال زیر نقطه پایانی computeRouteMatrix را در «میانای برنامهسازی کاربردی مسیرها» فراخوانی میکند و
شناسههای مکان مبدأ و مقصد کاربر را مشخص میکند. این مثال فاصله و مدت سفر از مرکز نقشه تا سه دفتر Google در لندن را محاسبه میکند:
curl -X POST -d '{
"origins": [
{
"waypoint": {
"location": {
"latLng": {
"latitude": 51.493490,
"longitude": -0.097288
}
}
}
}
],
"destinations": [
{
"waypoint": {
"placeId": "ChIJVSZzVR8FdkgRTyQkxxLQmVU"
}
},
{
"waypoint": {
"placeId": "ChIJVSZzVR8FdkgR-HklrBMO0Hc"
}
},
{
"waypoint": {
"placeId": "ChIJ4abvVDwbdkgRDZVFR7A6Bcc"
}
}
],
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE"
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'پاسخ سرویس شامل فاصله (به متر) و مدت زمان برای هر جفت مبدأ و مقصد است، مشابه آنچه در مثال زیر نشان داده شده است:
برای دیدن پاسخ نمونه، ازهم باز کنید:
[
{
"originIndex": 0,
"destinationIndex": 0,
"status": {},
"distanceMeters": 4540,
"duration": "924s",
"condition": "ROUTE_EXISTS"
},
{
"originIndex": 0,
"destinationIndex": 1,
"status": {},
"distanceMeters": 5043,
"duration": "1044s",
"condition": "ROUTE_EXISTS"
},
{
"originIndex": 0,
"destinationIndex": 2,
"status": {},
"distanceMeters": 6919,
"duration": "1357s",
"condition": "ROUTE_EXISTS"
}
]تصویر زیر مبدأ (نشانگر قرمز C) و مقصدها را روی نقشه نشان میدهد:
فاصله خط مستقیم و فاصله مسیر اغلب متفاوت است، همانطور که در جدول زیر نشان داده شده است.
| مکان | فاصله مستقیم | جاده در ترافیک / زمان |
|---|---|---|
| مکان A | ۳.۳۲ کیلومتر | ۴٫۵ کیلومتر / ۱۵ دقیقه |
| مکان B | ۳.۲۰ کیلومتر | ۵٫۰ کیلومتر / ۱۷ دقیقه |
| مکان C | ۴.۸۴ کیلومتر | ۶٫۹ کیلومتر / ۲۳ دقیقه |
اگرچه مکان «ب» ازنظر فاصله نزدیکتر است، اما چون مکان «الف» ازطریق بزرگراه دسترسپذیر است، مسیر و زمان رسیدن به آنجا طولانیتر است.
پساز اینکه این درخواست را انجام دادید، میتوانید مطابقت را پردازش کنید تا پاسخها را براساس مدت زمان رانندگی مرتب کنید. میتوانید نمونههایی از چنین تابعی را در codelab مکانیاب پیدا کنید.
درحال ارائه مسیرهای پیمایش
| این مثال از موارد زیر استفاده میکند: کتابخانه مسیرها، Maps JavaScript API | همچنین دردسترس است: میانای برنامهسازی کاربردی «مسیرها» سرویس وب برای استفاده در Android و iOS، یا مستقیماً از برنامه یا از دور ازطریق پراکسی سرور |
نشان دادن مسیرها به کاربران از درون سایت یا برنامههایتان به این معنی است که آنها نیازی ندارند از سایتتان خارج شوند، که یعنی کاربران با صفحات دیگر حواسشان پرت نمیشود یا رقبایتان را در نقشه نمیبینند. با «میانای برنامهسازی کاربردی مسیرها» میتوانید مسیرهای بومسازگار را نیز درخواست کنید تا مصرف سوخت یا انرژی را تخمین بزنید و تأثیر زیستمحیطی سفر را نشان دهید.
کلاس Route
در «کتابخانه مسیرها»، Maps JavaScript API همچنین روشهایی مثل createPolylines()
و createWaypointAdvancedMarkers() دارد که به شما امکان میدهد نتایج را پردازش کنید و
آنها را روی نقشه نمایش دهید.
در زیر نمونهای از درخواست و نمایش مسیر روی نقشه آورده شده است. برای اطلاعات بیشتر درباره نمونه، دریافت مسیر را ببینید.
برای کسب اطلاعات بیشتر درباره این ویژگیهای Maps، اسناد Maps JavaScript API را بخوانید یا codelab گامبهگام را برای ساختن مکانیاب بررسی کنید.
کمک به کاربران برای رزرو قرار
وقتی کاربران «جزئیات مکان» شما را در پانل کناری میبینند، میتوانید با یک کلیک دکمه، امکان رزرو کردن وقت ملاقات را برای آنها فراهم کنید، همانطور که در شکل زیر نشان داده شده است.
چند روش برای فعال کردن این ویژگی وجود دارد: (۱) استفاده از راهحل «مکانیاب سازنده سریع پلاس» برای ارائه این عملکرد بهصورت آماده، و (۲) استفاده از نمایه کسبوکار. این بخش این گزینهها را بهطور مفصل شرح میدهد.
استفاده از «مکانیاب سازنده سریع پلاس»
میتوانید از راهحل «مکانیاب پلاس سازنده سریع» برای وارد کردن سریع جزئیات کسبوکار از نمایه کسبوکار استفاده کنید. پساز وارد کردن در ابزار «سازنده سریع»، میتوانید پیوندهای رزرو قرار جاسازیشده را در مکانهای کسبوکارتان درصورت دردسترس بودن بااستفاده از رزرو با Google فعال کنید. حتی اگر «نمایه کسبوکار» منسوب به «حساب Google» نداشته باشید، همچنان میتوانید از «سازنده سریع» برای جاسازی پیوندهای رزرو کسبوکارهایی که قبلاً با ارائهدهندگان رزرو طرف سوم ازطریق «رزرو با Google» فعال کردهاید استفاده کنید*.
*«رزرو با Google» فقط در کشورها/مناطق خاصی دردسترس است که کسبوکارها با ارائهدهنده رزرو پشتیبانیشده کار میکنند. اگر به «رزرو با Google» علاقهمندید، اما با شریک «رزرو با Google» کار نمیکنید، از ارائهدهندهتان بخواهید با تکمیل این فرم علاقهمندی و مرور مستندات ما، علاقهمندیاش را اعلام کند تا ببیند چگونه میتواند شروع کند. اگر ازقبل با ارائهدهنده رزرو کار نمیکنید، میتوانید ارائهدهندگان واجدشرایط را در بخش «رزروها» در مدیر نمایه کسبوکار ببینید.
از «نمایه کسبوکار» برای فعال کردن رزرو قرار استفاده کنید
وقتی حضور آنلاین خود را با نمایه کسبوکار مدیریت میکنید، مکانهای کسبوکاری که ایجاد میکنید با شناسههای مکان «پلاتفرم Google Maps» مرتبط میشوند تا عملکرد یکپارچه نقشه با دادههای کسبوکار فعال شود.
«میاناهای برنامهسازی کاربردی نمایه کسبوکار» به شما امکان میدهد کنشهایی مثل رزرو وقت ایجاد کنید که میتوانید آنها را در برنامههایتان بازیابی و نمایش دهید، اما برای فعال کردن این ویژگی باید چند مرحله دستی را که در زیر توضیح داده شده است انجام دهید.
وقتی کاربران «جزئیات مکان» یکی از مکانهایتان را در پانل کناری میبینند، میتوانید پیوندی برای آنها ارائه دهید تا قرار بگذارند. این بخش نحوه انجام این کار را توضیح میدهد.
-
میانای برنامهسازی کاربردی «نمایه کسبوکار»
placeActionLinkبرای مکان نوعAPPOINTMENT،ONLINE_APPOINTMENT، یاDINING_RESERVATIONایجاد کنید. placeActionLinkشیئی خواهد بود که برای پیوند قرار در پانل کناری استفاده میکنید. (اگر قبلاً پیوند کنش قرار ملاقات موردنظرتان را ایجاد کردهاید، به مرحله بعدی بروید.) در اینجا نمونهای از پاسخ یکplaceActionLinks.createعملیات POST موفق آورده شده است:{ "name": "locations/15899957830169237700/placeActionLinks/9c984be778a7ebbc", "providerType": "MERCHANT", "isEditable": true, "uri": "https://example.com/reservation-uri", "placeActionType": "DINING_RESERVATION", "createTime": "2021-05-01T01:17:41.609161Z", "updateTime": "2021-05-01T01:17:41.609161Z" } -
مکان «نمایه کسبوکار» مرتبط با شناسه مکان «پلاتفرم Google Maps» را پیدا کنید.
وقتی کاربران «جزئیات مکان» را مشاهده میکنند، جزئیات مربوط به شناسه مکان «پلاتفرم Google Maps» را مشاهده میکنند. شناسه مکان با شناسه مکان «نمایه کسبوکار» مرتبط است، بنابراین باید شناسه مکان را براساس شناسه مکان نقشه پیدا کنید تا بتوانید پیوند رزرو قرار را که ایجاد کردهاید بازیابی و نمایش دهید. تماسهای زیر را با «میاناهای برنامهسازی کاربردی نمایه کسبوکار» برقرار کنید:
- حسابهای پروژهتان را فهرست کنید.
- فهرست همه مکانها درون یک حساب.
- در مکانهای حساب،
LocationKeyحاوی شناسه مکان «پلاتفرم Google Maps» است که میتوانید آن را با شناسه مکان برای مکان درحال مشاهده مقایسه کنید.
-
با شناسه مکان، میتوانید پیوند کنش موردنظرتان را دریافت کنید. برای بازیابی قرار موجود،
placeActionLink، فهرست موجودplaceActionLinksرا برای مکان موردنظر ببینید، و برایplaceActionTypeفیلتر کنید تا پیوند قراری را که میخواهید استفاده کنید پیدا کنید (APPOINTMENT،ONLINE_APPOINTMENT، یاDINING_RESERVATION).مثال زیر «وقت ملاقات»
placeActionLinkرا در پاسخ تماس «فهرست» نشان میدهد.{ "placeActionLinks": [ { "name": "locations/15899957830169237700/placeActionLinks/9c984be778a7ebbc", "providerType": "MERCHANT", "isEditable": true, "uri": "https://example.com/", "placeActionType": "APPOINTMENT", "createTime": "2021-05-01T01:17:41.609161Z", "updateTime": "2021-05-01T01:17:41.609161Z" } ] } <div>را در پانل کناری با دادههای مرتبط از شیءplaceActionLinkایجاد و تکمیل کنید، بهویژه نشانی وب برای پیوند رزرو قرار.
جایگزینهای دیگر برای افزودن پیوندهای قرار
اگر «نمایه کسبوکار» را مدیریت نمیکنید یا نمیخواهید از راهحل «مکانیاب سازنده سریع پلاس» استفاده کنید، برای مستندات جاسازی ابزارک رزرو در وبسایت یا برنامه، پلاتفرم رزرو قرار را بررسی کنید. گزینه دیگر استفاده از Google Cloud، مثل Cloud Spanner برای مدیریت موجودی (ویدیو) است.
درحال نمایش پیشنهادهای ویژه محلی
در پانل کناری «جزئیات مکان» برای یک مکان، میتوانید پیشنهادهای ویژه محلی را برای کلیک کاربران نشان دهید. «میانای برنامهسازی کاربردی Google برای کسبوکار من» به شما امکان میدهد «پستهایی» (مثل پیشنهادهای ویژه محلی) را که با مکانهایتان مرتبط هستند ایجاد و بازیابی کنید. شکل زیر نمونهای از پیشنهاد ویژه محلی را در پانل کناری «جزئیات مکان» نشان میدهد.
(نمودار معماری در بخش سازنده سریع فناوریهای دردسترس برای افزودن پیشنهادهای ویژه به مکانیاب شما را نشان میدهد.)
چون پیشنهادهای ویژه محلی با مکانها مرتبط هستند، باید شناسه مکان «نمایه کسبوکار» را که با شناسه مکان «پلاتفرم Google Maps» برای مکانی که کاربران مشاهده میکنند مرتبط است پیدا کنید.
وقتی شناسه مکان «نمایه کسبوکار» را داشته باشید، میتوانید پیشنهاد ویژه مربوطه را بهعنوان
localPost بازیابی کنید تا در پانل کناری «جزئیات مکان» نمایش دهید. مراحل مربوطه در اینجا آمده است:
- با «میانای برنامهسازی کاربردی Google برای کسب و کار من»،
پستهای پیشنهاد ویژه موردنظرتان را
از نوع
OFFERایجاد کنید. -
مکان «نمایه کسبوکار» / شناسه مکان مرتبط با شناسه مکان را در نقشه پیدا کنید.
وقتی کاربران «جزئیات مکان» را مشاهده میکنند، جزئیات شناسه مکان «پلاتفرم Google Maps» را مشاهده میکنند. شناسه مکان با شناسه مکان «نمایه کسبوکار» مرتبط است، بنابراین باید شناسه مکان را براساس شناسه مکان نقشه پیدا کنید تا بتوانید پیوند پیشنهاد ویژه محلی را برای مکانتان بازیابی و نمایش دهید. تماسهای زیر را با «میاناهای برنامهسازی کاربردی نمایه کسبوکار» برقرار کنید:
- حسابهای پروژهتان را فهرست کنید.
- فهرست کردن همه مکانها در یک حساب.
- در مکانهای حساب،
LocationKeyشامل شناسه مکان Maps است که میتوانید آن را با شناسه مکان درحال مشاهده مقایسه کنید.
در زیر نمونهای از درخواست جزئیات مکان در «میانای برنامهسازی کاربردی نمایه کسبوکار» ارائه شده است:
https://mybusiness.googleapis.com/v4/accounts/111098884960588804666/locations/15899957830169237700
پاسخ حاوی فیلد
locationKeyاست که شناسه مکان است و میتوانید از آن در درخواستهای «پلاتفرم Google Maps» استفاده کنید.ازهم بازکردن برای دیدن پاسخ نمونه.
{ "name": "accounts/111098884960588804666/locations/15899957830169237700", "locationName": "Sushi Sushi", "primaryPhone": "+49 2222 22222", "primaryCategory": { "displayName": "Restaurant", "categoryId": "gcid:restaurant", }, "regularHours": { "periods": [ { "openDay": "MONDAY", "openTime": "09:00", "closeDay": "MONDAY", "closeTime": "09:10" }, { "openDay": "TUESDAY", "openTime": "11:30", "closeDay": "TUESDAY", "closeTime": "24:00" } ] }, "locationKey": { "placeId": "ChIJs4wtL04X2jERbc8qHd_wZzk", "requestId": "2c72cbcb-ea2e-4d66-b684-0ef5f090300c" }, "latlng": { "latitude": 1.3670033, "longitude": 103.8556385 }, "openInfo": { "status": "OPEN", "canReopen": true }, "locationState": { "isGoogleUpdated": true, "canUpdate": true, "canDelete": true, "isVerified": true, "isPublished": true, "canHaveFoodMenus": true }, "attributes": [ { "attributeId": "has_delivery", "valueType": "BOOL", "values": [ false ] }, { "attributeId": "requires_masks_customers", "valueType": "BOOL", "values": [ true ] }, { "attributeId": "url_order_ahead", "valueType": "URL", "urlValues": [ { "url": "https://example.com/" }, ] }, { "attributeId": "pay_credit_card_types_accepted", "valueType": "REPEATED_ENUM", "repeatedEnumValue": { "setValues": [ "visa" ], "unsetValues": [ "american_express" ] } } ], "address": { "regionCode": "SG", "languageCode": "en-US", "postalCode": "560445", "addressLines": [ "445 Ang Mo Kio Ave 10" ] }, "profile": { "description": "Example restaurant" } } -
اکنون که شناسه مکان را دارید، میتوانید پیشنهاد ویژه موردنظرتان را دریافت کنید. برای بازیابی «پست» پیشنهاد ویژه موجود،
localPostsموجود را برای مکان فهرست کنید و برایtopicTypeازOFFERفیلتر کنید تا محتوای پیشنهاد ویژه موردنظرتان را پیدا کنید.در اینجا یک درخواست نمونه برای فهرست کردن «پستهای محلی» فعال برای یک مکان آورده شده است:
https://mybusiness.googleapis.com/v4/accounts/111098884960588804666/locations/15899957830169237700/localPosts
مثال زیر
OFFERlocalPostرا در پاسخ نشان میدهد.ازهم بازکردن برای دیدن پاسخ نمونه.
{ "localPosts": [ { "name": "accounts/111098884960588804666/locations/15899957830169237700/localPosts/2524928563578730680", "languageCode": "en", "summary": "Buy One Get One Free on all order-ahead bento boxes today!", "state": "LIVE", "event": { "title": "Bento BOGO", "schedule": { "startDate": { "year": 2020, "month": 1, "day": 20 }, "startTime": {}, "endDate": { "year": 2021, "month": 1, "day": 21 }, "endTime": {} } }, "updateTime": "2020-09-11T10:56:22.594Z", "createTime": "2020-09-11T10:56:22.594Z", "searchUrl": "https://local.google.com/place?id=4156539623820808045&use=posts&lpsid=2524928563578730680", "media": [ { "name": "accounts/111098884960588804666/locations/15899957830169237700/media/localPosts/AF1QipOBQCIf40SbF_PPJxb_zvfCHmaTbv9Zw02PoYPS", "mediaFormat": "PHOTO", "googleUrl": "https://lh3.googleusercontent.com/p/AF1QipOBQCIf40SbF_PPJxb_zvfCHmaTbv9Zw02PoYPS" } ], "topicType": "OFFER", "offer": { "couponCode": "BOGO-JET-CODE", "redeemOnlineUrl": "https://www.example.com/redeem", "termsConditions": "Offer only valid for order-ahead orders placed online." } }, ], } <div>را در پانل کناری با دادههای مرتبط از شیءlocalPostایجاد و تکمیل کنید.
درحال سفارشیسازی کردن نقشه
میتوانید ظاهر و جزئیات نقشه را به روشهای مختلفی تغییر دهید. برای مثال، میتوانید:
- نشانگرهای سفارشی خودتان را ایجاد کنید تا جایگزین سنجاقهای نقشه پیشفرض شود.
- رنگهای ویژگیهای نقشه را تغییر دهید تا نمانام شما را منعکس کند.
- کنترل کنید کدام نقاط موردعلاقه (جاذبهها، غذا، اقامتگاه، و غیره) و با چه تراکمی نمایش داده شود تا بتوانید توجه کاربر را روی مکانهایتان متمرکز کنید و درعینحال نشانهای مکانی را که به کاربران کمک میکند به نزدیکترین مکان برسند برجسته کنید.
درحال ایجاد نشانگرهای نقشه سفارشی
با تغییر دادن رنگ پیشفرض سنجاق پسزمینه، حاشیه، یا گلیک (برای مثال، برای نشان دادن اینکه مکان باز است یا نه)، جایگزین کردن نشانه با تصویر گرافیکی سفارشی مثل نشانواره نمانام شما، یا ساختن نشانههای سفارشی HTML و CSS، میتوانید نشانگرهای پیشرفته را سفارشیسازی کنید. پنجرههای اطلاعات میتوانند اطلاعات بیشتری مثل ساعات کاری، شماره تلفن، یا عکسها را به کاربران ارائه دهند.
در زیر نقشه نمونهای را میبینید که از نشانگرهای گرافیکی سفارشی استفاده میکند. (کد منبع را در موضوع نشانگرهای گرافیکی سفارشی «میانای برنامهسازی کاربردی جاوا اسکریپت در Maps» ببینید.)
برای اطلاعات دقیق، به اسناد نشانگرهای پیشرفته برای جاوا اسکریپت (وب)، Android، و iOS مراجعه کنید.
درحال سبکبندی نقشه
«پلاتفرم Google Maps» به شما امکان میدهد نقشهتان را به روشهایی که به کاربران کمک میکند نزدیکترین مکان را پیدا کنند، در سریعترین زمان ممکن به آنجا برسند، و به شما کمک میکند تا نمانام خود را تقویت کنید، سبکبندی کنید. برای مثال، میتوانید رنگهای نقشه را تغییر دهید تا با نمانام شما مطابقت داشته باشد، و میتوانید با کنترل کردن نقاط موردعلاقهای که برای کاربران قابلمشاهده است، حواسپرتیها را در نقشه کاهش دهید. «پلاتفرم Google Maps» همچنین تعدادی الگوی آغازگر نقشه ارائه میدهد که برخیاز آنها برای صنایع مختلفی مثل سفر، تدارکات، املاک، و خردهفروشی بهینهسازی شدهاند.
میتوانید سبکهای نقشه را در کنسول Google Cloud در صفحه سبکهای نقشه پروژه خود ایجاد یا اصلاح کنید.
ازهم باز کنید تا پویانماییهای ایجاد سبک نقشه و سبکدهی در «کنسول Cloud» را ببینید:
سبکهای نقشه صنعت
این پویانمایی سبکهای نقشه پیشتعریفشده ویژه صنعت را که میتوانید استفاده کنید نشان میدهد. این سبکها نقطه شروع بهینهای برای هر نوع صنعت فراهم میکنند. برای مثال، سبک نقشه «خردهفروشی» نقاط موردعلاقه را در نقشه کاهش میدهد و به کاربران امکان میدهد روی مکانهای شما و همچنین نشانهای جغرافیایی تمرکز کنند تا بتوانند در سریعترین زمان ممکن و با اطمینان به نزدیکترین مکان شما برسند.
کنترل نقاط موردعلاقه
این پویانمایی رنگ نشانگر را برای نقاط مورد علاقه تنظیم میکند و تراکم نقاط مورد علاقه را در سبک نقشه افزایش میدهد. هرچه تراکم بیشتر باشد، نشانگرهای «مکان موردعلاقه» بیشتری روی نقشه نشان داده میشود.
هر سبک نقشه شناسه مخصوص به خود را دارد. پساز انتشار سبک در «کنسول Cloud»، آن شناسه نقشه را در کدتان ارجاع میدهید—یعنی میتوانید سبک نقشه را در زمان واقعی بدون بازسازی برنامه بهروز کنید. ظاهر جدید بهطور خودکار در برنامه موجود ظاهر میشود و در سراسر پلاتفرمها استفاده میشود. مثالهای زیر نشان میدهد که چگونه بااستفاده از Maps JavaScript API، شناسه نقشه را به صفحه وب اضافه کنید.
با افزودن یک یا چند map_ids در نشانی وب نوشتار،
Maps JavaScript API بهطور خودکار این سبکها را برای ارائه سریعتر نقشه
وقتی این سبکها را در کدتان فراخوانی میکنید دردسترس قرار میدهد.
<script
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&map_ids=MAP_IDs&callback=initMap&solution_channel=GMP_guides_locatorplus_v2_a">
</script>
کد زیر نقشه سبکدار را در صفحه وب نمایش میدهد. (عنصر HTML
<div id="map"></div> که نقشه در آن در صفحه
نشان داده میشود نشان داده نمیشود.)
map = new google.maps.Map(document.getElementById('map'), { center: {lat: 51.485925, lng: -0.129500}, zoom: 12, mapId: '1234abcd5678efgh' });
درباره ادغام سبکدهی نقشههای ابری در جاوا اسکریپت (وب)، Android، و iOS بیشتر بدانید.
بهدست آوردن اطلاعات آماری استفاده با Analytics
بااستفاده از تجزیهوتحلیلها، میتوانید اطلاعات آماری ارزشمندی درباره نحوه تعامل کاربران با مکانیاب خود بهدست آورید. این بخش راهنماییهایی درباره پیکربندی و نظارت بر Google Analytics و تحلیلهای «نمایه کسبوکار» برای پیگیری دادههایی که بیشتر به آنها علاقهمندید ارائه میدهد. برای کاربران «مکانیاب پلاس» «سازنده سریع»، داشبورد تجزیهوتحلیل به شما کمک میکند اطلاعات آماری را تجزیهوتحلیل و تولید کنید و تصویری از میزان تعامل بازدیدکنندگان سایتتان با مکانیاب فروشگاهتان براساس دادههای ناشناس به شما ارائه دهد.
برای دسترسی به این گزارش، به بخش گزارشهای تعامل در کنسول Cloud بروید. برای جزئیات بیشتر درباره این گزارش، به گزارشهای تعامل مراجعه کنید.
ازآنجاکه Google Analytics ویژگیهای زیادی ارائه میدهد، اطلاعات جامع درباره راهاندازی و استفاده ارائه نمیدهیم. درعوض، شما را به اسناد کلیدی برای مطالعه بیشتر و دستورالعملها راهنمایی میکنیم و درعینحال ملاحظات کلیدی تجزیهوتحلیل را برای برنامه مکانیاب شما برجسته میکنیم.
راهاندازی Google Analytics
اگر ازقبل از Google Analytics با برنامهتان استفاده میکنید، میتوانید از این بخش رد شوید.
در زیر نمونهای از «برچسب سراسری» را میبینید که برای فعال کردن Google Analytics در سایتتان جایگذاری میکنید.
<!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/ gtag/js?id=G-XR5B5D4NW0"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XR5B5D4NW0'); </script>
چه از Google Tag Manager استفاده کنید چه Google Analytics را مستقیماً به سایتتان اضافه کنید، نکته کلیدی این است که بدانید چگونه از پیادهسازی Google Analytics خود برای انجام کارهای زیر استفاده کنید:
- تعاملات کاربر، مثل کلیکها، را راهاندازی کنید که بتواند بهطور مستقل از بازدیدهای صفحه وبسایت اندازهگیری شود (رویدادها).
- دادههای خام (سنجهها) را در گروههای معنادار (ابعاد یا ابعاد سفارشی) ببینید.
استفاده از رویدادهای سفارشی
در زیر نمونهای از تعریف رویداد سفارشی در مکانیاب شما آمده است:
gtag('event', 'location', { 'method': 'address' });
مهم است که event و method را بهاندازه کافی واضح نامگذاری کنید
تا بتوانید رویدادها را در گزارشدهی درک کنید. آنها را برای تعاملهای خاصی که میخواهید اندازهگیری کنید راهاندازی کنید، مثلاً وقتی کاربر نشانی را از فهرست کرکرهای «تکمیل خودکار» انتخاب میکند، همانطور که در شکل زیر نشان داده شده است.
میتوانید تماس پیگیری زیر را به Google Analytics که از رویداد و روش تعریفشده شما استفاده میکند ارسال کنید. (برای خوانایی بیشتر، هر پارامتر پُرسمان را در خط جداگانهای نشان میدهیم.)
https://www.google-analytics.com/g/collect?v=2 &tid=G-XR5B5D4NW0 >m=2oe550 &_p=64678170 &sr=1920x1200 &ul=fr &cid=489856786.1598861364 &_s=2 &dl=http%3A%2F%2.storelocator.html &dt=Store%20Locator &sid=1620827159 &sct=1 &seg=1 &en=location &_et=6032 &ep.method=address
شکل زیر نشان میدهد که چگونه آن تماس Google Analytics در نمای «بازرسی» مرورگر، در برگه «شبکه» ظاهر میشود. (برای بزرگ کردن، کلیک کنید).
با مشاهده نمای «همزمان» در Google Analytics میتوانید تأیید کنید که برچسبهای رویداد سفارشی شما بهدرستی ضبط میشوند. برای مثال، رویداد «مکان» که قبلاً برای «تکمیل خودکار مکان» راهاندازی شده است در Google Analytics بهصورت نشاندادهشده در شکلهای زیر ظاهر میشود.
یا میتوانید رویدادهای همزمان را بااستفاده از DebugView، همانطور که در شکل زیر نشان داده شده است، پایش کنید. توجه داشته باشید که باید ۲۴ ساعت صبر کنید تا بتوانید به گزارش کامل «رویدادها» در بخش تعامل > رویدادها در Google Analytics دسترسی پیدا کنید.
همچنین میتوانید استراتژیهایی را برای افزایش آمدوشد افراد به مکانهای فیزیکیتان از برنامه مکانیاب خود توسعه دهید و اندازهگیری کنید. برای مثال، Google Analytics دارای پیشنهاد ویژه بازدید از فروشگاه در Analytics است که بازدید از فروشگاه فیزیکی (اندازهگیریشده توسط Google Ads) را به تجزیهوتحلیلهای مکانیاب شما پیوند میدهد. همچنین میتوانید استراتژیهای برنامه به مکان خودتان را توسعه دهید، مثلاً پیشنهادهای ویژه آنلاین که در مکانهای فیزیکی شما قابل پسخرید است.
سنجههای «نمایه کسبوکار»
علاوهبر پیگیری رویدادها، سنجهها، و ابعادی که در Google Analytics به آنها علاقهمندید، نمایه کسبوکار نیز سنجههای خود را دارد. برای مثال، اگر پیوندهای رزرو قرار و پیشنهاد ویژه محلی را به مکانیاب خود اضافه کنید، میتوانید سنجههایی درباره آن بازدیدها و کلیکها دریافت کنید.
درخواست نمونه زیر از «میانای برنامهسازی کاربردی نمایه کسبوکار» چندین نوع
سنجه را درخواست میکند. برای پیگیری کلیکهای پیشنهاد ویژه، سنجههای LOCAL_POST_VIEWS_SEARCH و
LOCAL_POST_ACTIONS_CALL_TO_ACTION مرتبطترین سنجهها هستند.
برای دیدن درخواست نمونه، ازهم باز کنید.
POST https://mybusiness.googleapis.com/v4/accounts/111098884960528804666/locations:reportInsights
Body:
{
"locationNames": [
"accounts/111098884960528804666/locations/15899957830169237700"
],
"basicRequest": {
"metricRequests": [
{
"metric": "QUERIES_DIRECT"
},
{
"metric": "QUERIES_INDIRECT"
},
{
"metric": "VIEWS_MAPS"
},
{
"metric": "VIEWS_SEARCH"
},
{
"metric": "ACTIONS_DRIVING_DIRECTIONS"
},
{
"metric": "LOCAL_POST_VIEWS_SEARCH"
},
{
"metric": "LOCAL_POST_ACTIONS_CALL_TO_ACTION"
}
],
"timeRange": {
"startTime": "2021-01-01T01:01:23.045123456Z",
"endTime": "2021-04-30T23:59:59.045123456Z"
}
}
}ازهم بازکردن برای دیدن پاسخ نمونه.
{
"locationMetrics": [
{
"locationName": "accounts/111098884960528804666/locations/15899957830169237700",
"timeZone": "Asia/Singapore",
"metricValues": [
{
"metric": "QUERIES_DIRECT",
"totalValue": {
"metricOption": "AGGREGATED_TOTAL",
"timeDimension": {
"timeRange": {
"startTime": "2021-01-01T01:01:23.045123456Z",
"endTime": "2021-04-30T23:59:59.045123456Z"
}
},
"value": "82"
}
},
{
"metric": "QUERIES_INDIRECT",
"totalValue": {
"metricOption": "AGGREGATED_TOTAL",
"timeDimension": {
"timeRange": {
"startTime": "2021-01-01T01:01:23.045123456Z",
"endTime": "2021-04-30T23:59:59.045123456Z"
}
},
"value": "1493"
}
},
{
"metric": "VIEWS_MAPS",
"totalValue": {
"metricOption": "AGGREGATED_TOTAL",
"timeDimension": {
"timeRange": {
"startTime": "2021-01-01T01:01:23.045123456Z",
"endTime": "2021-04-30T23:59:59.045123456Z"
}
},
"value": "1571"
}
},
{
"metric": "VIEWS_SEARCH",
"totalValue": {
"metricOption": "AGGREGATED_TOTAL",
"timeDimension": {
"timeRange": {
"startTime": "2021-01-01T01:01:23.045123456Z",
"endTime": "2021-04-30T23:59:59.045123456Z"
}
},
"value": "631"
}
},
{
"metric": "ACTIONS_DRIVING_DIRECTIONS",
"totalValue": {
"metricOption": "AGGREGATED_TOTAL",
"timeDimension": {
"timeRange": {
"startTime": "2021-01-01T01:01:23.045123456Z",
"endTime": "2021-04-30T23:59:59.045123456Z"
}
},
"value": "3"
}
},
{
"metric": "LOCAL_POST_ACTIONS_CALL_TO_ACTION",
"totalValue": {
"metricOption": "AGGREGATED_TOTAL",
"timeDimension": {
"timeRange": {
"startTime": "2021-01-01T01:01:23.045123456Z",
"endTime": "2021-04-30T23:59:59.045123456Z"
}
},
"value": "42"
}
},
{
"metric": "LOCAL_POST_VIEWS_SEARCH",
"totalValue": {
"metricOption": "AGGREGATED_TOTAL",
"timeDimension": {
"timeRange": {
"startTime": "2021-01-01T01:01:23.045123456Z",
"endTime": "2021-04-30T23:59:59.045123456Z"
}
},
"value": "11"
}
}
]
}
]
}
پاسخ شامل سنجهها است، بهویژه:
- ۱۵۷۱ بازدید از مکان در Google Maps
- ۶۳۱ بازدید مکان در «جستجوی Google».
- ۳ درخواست برای «مسیرهای رانندگی» به مکان.
- ۴۲ کلیک روی پیشنهاد ویژه
LOCAL_POST_ACTIONS_CALL_TO_ACTION. - ۱۱ بازدید از «پستهای محلی» در «جستجوی Google».
گزینه دیگر معیارها شامل استفاده از رزرو با Google برای ایجاد پیوندهای کنش است. وقتی کاربران روی پیوندهای کنش ایجادشده در «رزرو با Google» کلیک میکنند، میتوانید این کنشها را در Google Analytics ثبت کنید، که به شما امکان میدهد تبدیلها را در Google Analytics پیگیری کنید. برای اطلاعات بیشتر، مستندات پایش تبدیل را ببینید.
صرفنظر از استراتژی سنجهای که استفاده میکنید، اندازهگیری چیزی فراتر از دیدن نحوه عملکرد شما در مقایسه با شاخصهای کلیدی عملکردتان است. این اعداد همچنین به شما کمک میکند تا تأثیر این بهبودهای مکانیاب را بر کسبوکارتان درک کنید. علاوهبراین، میتوانید سنجههای Google Analytics را در مکانیاب خودتان با سنجههای «نمایه کسبوکار» مقایسه کنید. برای مثال، با مقایسه این سنجهها، میتوانید ببینید چند مشتری از مکانیاب شما و Google Maps مسیر دریافت میکنند تا از مکانهای فیزیکی شما بازدید کنند.
درحال بهبود دادن Locator Plus
بسته به نیازهای کسبوکارتان یا کاربران، میتوانید تجربه کاربر را بیشتر بهبود دهید.
درحال ارسال مسیرها به تلفن همراه
برای اینکه کاربران راحتتر به مکان موردنظرشان برسند، میتوانید پیوند مسیر را برای آنها پیامک یا ایمیل کنید. وقتی روی آن کلیک کنند، برنامه Google Maps در تلفنشان (اگر نصب شده باشد) راهاندازی میشود یا maps.google.com در مرورگر وب دستگاهشان بار میشود. هر دوی این تجربهها به کاربر امکان میدهند از ناوبری گامبهگام، ازجمله راهنمایی صوتی، برای رسیدن به مقصد استفاده کند.
از
نشانیهای وب Maps برای ساختن نشانی وب مسیرها مانند نشانی وب زیر استفاده کنید، با نام مکان کدبندیشده با نشانی وب بهعنوان پارامتر destination و شناسه مکان بهعنوان پارامتر destination_place_id. برای نوشتن یا استفاده از نشانیهای وب Maps هزینهای وجود ندارد، بنابراین نیازی نیست کلید API را در نشانی وب اضافه کنید.
https://www.google.com/maps/dir/?api=1&destination=Google%20London&destination_place_id=ChIJVSZzVR8FdkgRTyQkxxLQmVU
میتوانید بهصورت اختیاری پارامتر پُرسمان origin را بااستفاده از همان قالب نشانی مقصد ارائه دهید. اما با حذف آن، مسیرها از مکان فعلی کاربر شروع میشود که ممکن است با مکانی که در آن از برنامه Locator Plus شما استفاده میکرده متفاوت باشد.
نشانیهای وب Maps
گزینههای پارامتر پُرسمان اضافی، مثل travelmode و
dir_action=navigate، برای راهاندازی مسیرها با روشن بودن ناوبری ارائه میدهد.
این پیوند کلیککردنی، که نشانی وب نمونه بالا را گسترش میدهد، origin
را بهعنوان ورزشگاه فوتبال لندن تنظیم میکند و از travelmode=transit برای ارائه
مسیرهای حملونقل عمومی به مقصد استفاده میکند.
برای ارسال پیامک یا ایمیل حاوی این نشانی وب، توصیه میکنیم از برنامه طرف سوم مثل twilio استفاده کنید. اگر از App Engine استفاده میکنید، میتوانید از شرکتهای طرف سوم برای ارسال پیامک یا ایمیل استفاده کنید. برای کسب اطلاعات بیشتر، به ارسال پیام با سرویسهای طرف سوم مراجعه کنید.
نمایش «نمای خیابان» برای کمک به کاربران در تجسم مکانها
برای بسیاری از مکانهای جهان، از «نمای خیابان» میتوان برای نمایش نمای بیرونی مکان استفاده کرد و به کاربران قبلاز رسیدن به مکان، تصویری از آن ارائه داد. بسته به اینکه میخواهید کاربران شما در منطقه موردنظر در ۳۶۰ درجه «اطراف را نگاه کنند» یا نه، میتوانید «نمای خیابان» را در قالب تعاملی (وب) یا ایستا (میانای برنامهسازی کاربردی) ارائه دهید. «نمای خیابان» برای Android و iOS نیز دردسترس است.
تعیین مکان کاربر با «مکان جغرافیایی»
در اکثر موارد، میتوانید بااستفاده از خدمات مکان که در دستگاهها یا مرورگرهای کاربران تعبیه شده است، مکان کاربر را دقیقاً مشخص کنید. نمونهای از استفاده از ویژگی «مکان جغرافیایی HTML5» مرورگر برای نمایش مکان جغرافیایی کاربر یا دستگاه در نقشه Google ارائه میدهیم، و اسنادی درباره درخواست اجازهها و دریافت مکان در Android و iOS وجود دارد. بااینحال، ممکن است شرایطی پیش بیاید که بخواهید مکانیاب جایگزینی داشته باشید؛ برای مثال، اگر خدمات مکان دستگاه غیرفعال باشد یا نگران باشید که مکان دستگاه جعل شده باشد.
«میانای برنامهسازی کاربردی جغرافیایی» یک میانای برنامهسازی کاربردی سمت سرور است که مکان و شعاع دقت را براساس اطلاعات مربوط به دکلهای تلفن همراه و گرههای Wi-Fi که کارخواه میتواند تشخیص دهد برمیگرداند. میتوانید از «مکان جغرافیایی» بهعنوان سازوکار پشتیبان برای تعیین مکان کاربر استفاده کنید، یا میتوانید از آن برای صحتسنجی مکان گزارششده توسط دستگاه استفاده کنید.
ترکیب کردن دادههای مکان سفارشی با «جزئیات مکان»
در بخش قبلی ارائه جزئیات مکان، استفاده از «جزئیات مکان» را برای ارائه سطح بالایی از اطلاعات درباره مکانهایتان به کاربران، مثل ساعات کاری، عکسها، و مرورها پوشش دادیم.
آشنایی با سطوح قیمتگذاری و واحد نگهداری کالا (SKU) فیلدهای مختلف داده در Places API (جدید) مفید است. برای مدیریت هزینههایتان، یکی از استراتژیها این است که اطلاعاتی را که ازقبل درباره مکانهایتان دارید با اطلاعات جدید Google Maps مثل تعطیلی موقت، ساعات کاری در تعطیلات، و ردهبندیها، عکسها، و مرورهای کاربران ترکیب کنید. اگر ازقبل اطلاعات تماس مکانهایتان را دارید، لازم نیست این فیلدها را از «جزئیات مکان» درخواست کنید و میتوانید ماسک فیلدتان را محدود کنید تا فقط فیلدهایی را که میخواهید نمایش داده شود واکشی کند.
ممکن است دادههای مکان خودتان را داشته باشید تا بهجای «جزئیات مکان» از آن استفاده کنید یا آن را تکمیل کنید. codelab برای مکانیاب پشته کامل نمونهای از استفاده از GeoJSON با پایگاه داده برای ذخیره و بازیابی جزئیات مکان خودتان ارائه میدهد.