این راهنما چندین استراتژی را برای بهینهسازی استفاده از Google Maps API ازنظر امنیت، عملکرد، و مصرف شرح میدهد.
امنیت
درحال مرور روالهای مطلوب امنیتی
کلیدهای میانای برنامهسازی کاربردی اطلاعات اعتباری پروژه-محور هستند که باید همان اقدامات احتیاطی شناسههای کاربر و گذرواژهها برای آنها انجام شود. روالهای مطلوب امنیتی میانای برنامهسازی کاربردی را مرور کنید تا کلیدهایتان را دربرابر استفاده ناخواسته ایمن کنید. استفاده ناخواسته میتواند منجر به استفاده بیمورد از سهمیه و کسر هزینههای غیرمنتظره از حسابتان شود.
استفاده از کلیدهای میانای برنامهسازی کاربردی برای دسترسی به Maps API
کلیدهای میانای برنامهسازی کاربردی روش اصالتسنجی ترجیحی برای دسترسی به میاناهای برنامهسازی کاربردی Google Maps هستند. درحالیکه استفاده از شناسههای مشتری هنوز پشتیبانی میشود، کلیدهای میانای برنامهسازی کاربردی از کنترلهای امنیتی دقیقتر پشتیبانی میکنند و میتوانند برای کار با نشانیهای وب، نشانیهای IP، و کیتهای توسعه نرمافزار تلفن همراه (Android و iOS) خاص تنظیم شوند. برای کسب اطلاعات درباره ایجاد و ایمنسازی کلید میانای برنامهسازی کاربردی، به صفحه «استفاده از کلید میانای برنامهسازی کاربردی» برای هر میانای برنامهسازی کاربردی یا کیت توسعه نرمافزار بروید. (برای مثال، برای Maps JavaScript API، به صفحه آن در استفاده از کلید میانای برنامهسازی کاربردی مراجعه کنید.)
عملکرد
استفاده از عقبگرد نمایی برای مدیریت خطاها
اگر برنامههایتان بهدلیل تلاشهای بیشازحد برای فراخوانی میانای برنامهسازی کاربردی در مدت زمان کوتاه با خطا مواجه میشوند، مثلاً خطاهای سهمیه، از عقبنشینی نمایی استفاده کنید تا درخواستها پردازش شوند. عقبنشینی نمایی برای خطاهای سری ۵۰۰ بسیار مفید است.
بهطور مشخص، سرعت پُرسمانهایتان را تنظیم کنید. در کدتان،
دوره انتظار S ثانیهای بین پُرسمانها اضافه کنید. اگر پُرسمان همچنان به خطای سهمیه منجر میشود، دوره انتظار را دوبرابر کنید و سپس پُرسمان دیگری ارسال کنید. به تنظیم دوره انتظار ادامه دهید تا پُرسمان بدون خطا برگردد.
ارسال درخواستهای تعامل کاربر درصورت تقاضا
درخواستهای ارسالشده به میاناهای برنامهسازی کاربردی که شامل تعامل کاربر هستند باید فقط درصورت درخواست ارسال شوند.
این یعنی منتظر ماندن برای اینکه کاربر نهایی کنشی (مثل on-click) انجام دهد تا درخواست میانای برنامهسازی کاربردی را آغاز کند، سپس از نتایج برای بار کردن نقشه، تنظیم مقصد، یا نمایش اطلاعات مناسب استفاده کند. استفاده از رویکرد درخواستی
از درخواستهای غیرضروری به میاناهای برنامهسازی کاربردی جلوگیری میکند و مصرف میانای برنامهسازی کاربردی را کاهش میدهد.
اجتناب از نمایش محتوای رونهاد هنگام حرکت نقشه
از Draw() برای نمایش محتوای همپوشانی سفارشی روی نقشه در همان زمانی که کاربر ممکن است نقشه را حرکت دهد استفاده نکنید. ازآنجاییکه نقشه هربار که کاربر نقشه را جابهجا میکند دوباره ترسیم میشود، قرار دادن محتوای همپوشان روی نقشه بهطور همزمان میتواند باعث تأخیر یا لرزش بصری شود. فقط زمانی محتوای همپوشانی را به نقشه اضافه کنید یا از آن بردارید که کاربر حرکت عرضی یا بزرگنمایی را متوقف کرده باشد.
اجتناب از عملیات فشرده در روشهای Draw
بهعنوان یک قانون کلی، بهتر است از عملیات غیرطراحی با عملکرد فشرده در روش Draw() اجتناب کنید. برای مثال، از موارد زیر در کد روش Draw() خود اجتناب کنید:
- پُرسمانهایی که حجم زیادی محتوا برمیگردانند.
- تغییرات زیادی در دادههای نمایشدادهشده ایجاد شده است.
- دستکاری کردن بسیاری از عناصر «مدل شیء سند» (DOM).
این عملیات میتواند عملکرد را کند کند و باعث تأخیر یا لکنت بصری شود هنگامی که نقشه رندر میشود.
استفاده از تصاویر شطرنجی برای نشانگرها
هنگام افزودن نشانگر برای شناسایی مکان روی نقشه، از تصاویر شطرنجی، مانند تصاویر با قالب PNG .یا JPG.، استفاده کنید. از تصاویر «نگارهسازی برداری مقیاسپذیر» (SVG) استفاده نکنید، زیرا پرداز کردن تصاویر SVG میتواند هنگام بازترسیم نقشه باعث تأخیر شود.
درحال بهینهسازی نشانگرها
بهینهسازی با پرداز کردن نشانگرهای متعدد بهعنوان یک عنصر ایستا، عملکرد را بهبود میبخشد. این ویژگی در مواردی که به تعداد زیادی نشانگر نیاز است مفید است. بهطور پیشفرض، Maps JavaScript API تصمیم میگیرد که آیا نشانگر بهینهسازی شود یا نه. وقتی تعداد نشانگرها زیاد باشد، Maps JavaScript API تلاش میکند نشانگرها را با بهینهسازی ارائه کند. همه نشانگرها را نمیتوان بهینهسازی کرد؛ در برخی شرایط، Maps JavaScript API ممکن است لازم باشد نشانگرها را بدون بهینهسازی ارائه کند. پرداز بهینهشده را برای فایلهای PNG یا GIF پویانماییشده غیرفعال کنید، یا وقتی هر نشانگر باید بهعنوان عنصر DOM جداگانه پرداز شود.
ایجاد خوشهها برای مدیریت نمایش نشانگر
برای کمک به مدیریت نمایش نشانگرها برای شناسایی مکانها روی نقشه، بااستفاده از کتابخانه خوشهکننده نشانگرها، خوشه نشانگر ایجاد کنید. کتابخانه «خوشهکننده نشانگرها» شامل گزینههایی برای موارد زیر است:
- اندازه شبکه، برای مشخص کردن تعداد نشانگرها برای گروهبندی باهم در یک خوشه.
- حداکثر بزرگنمایی، برای مشخص کردن حداکثر سطح بزرگنمایی که خوشه در آن نمایش داده میشود.
- مسیرهای تصویر، برای تصاویر گرافیکی که بهعنوان نمادهای نشانگر استفاده میشوند.
مصرف
برای کسب اطلاعات درباره مدیریت هزینههای Google Maps Platform، ازجمله ایجاد بودجه، اصلاح سهمیهها، و تنظیم هشدارها، به مدیریت هزینهها مراجعه کنید.