هنگام استفاده از الگوهای زیر، میتوانید پشتیبانی از تعامل کاربران با نقشههایی که ترسیم میکنید را اضافه کنید، مانند اینکه به آنها اجازه دهید قسمتهای مختلف نقشه را با بزرگنمایی و حرکت افقی (panning) ببینند.
| الگو | پشتیبانی از سطح API اپلیکیشن خودرو |
|---|---|
NavigationTemplate | ۲ |
(منسوخ شده) | ۴ |
(منسوخ شده) | ۴ |
(منسوخ شده) | ۵ (الگو معرفی شده) |
MapWithContentTemplate | ۷ (الگو معرفی شده) |
پیادهسازی فراخوانیهای تعاملی
رابط SurfaceCallback چندین متد فراخوانی دارد که میتوانید برای افزودن تعامل به نقشههای ساخته شده با استفاده از قالبهای موجود در بخش قبل پیادهسازی کنید:
| تعامل | روش | پشتیبانی از سطح API اپلیکیشن خودرو |
|---|---|---|
| ضربه بزنید | onClick | ۵ |
| برای بزرگنمایی، انگشت خود را به هم نزدیک کنید | onScale | ۲ |
| کشیدن تک لمسی | onScroll | ۲ |
| پرتاب تک لمسی | onFling | ۲ |
| دوبار ضربه بزنید | (میزبان قالب، ضریب مقیاس را تعیین میکند) | ۲ |
| حرکت چرخشی در حالت حرکت افقی | (میزبان قالب، ضریب فاصله را تعیین میکند) | ۲ |
نوار اقدام نقشه را اضافه کنید
این قالبها میتوانند یک نوار عملیات نقشه برای اقدامات مرتبط با نقشه مانند بزرگنمایی و کوچکنمایی، تنظیم مجدد، نمایش قطبنما و سایر اقداماتی که شما برای نمایش انتخاب میکنید، داشته باشند. نوار عملیات نقشه میتواند شامل حداکثر چهار دکمه فقط آیکون باشد که میتوانند بدون تأثیر بر عمق کار، بهروزرسانی شوند. نوار عملیات در حالت غیرفعال پنهان است و در حالت فعال دوباره ظاهر میشود.
برای دریافت فراخوانیهای تعاملی نقشه، باید یک دکمه Action.PAN در نوار اکشن نقشه اضافه کنید. وقتی کاربر دکمه Pan را فشار میدهد، میزبان وارد حالت Pan میشود، همانطور که در بخش «درک حالت Pan» توضیح داده شده است.
اگر برنامه شما دکمه Action.PAN را در نوار اکشن نقشه حذف کند، ورودی کاربر را از متدهای SurfaceCallback دریافت نمیکند و میزبان هرگونه حالت pan فعالشده قبلی را میبندد.
در صفحه لمسی، دکمه Pan نمایش داده نمیشود.
حالت پن (pan mode) را درک کنید
در حالت pan، میزبان قالب، ورودی کاربر را از دستگاههای ورودی غیر لمسی، مانند کنترلکنندههای چرخشی و تاچپدها، به متدهای SurfaceCallback مناسب ترجمه میکند. به اقدام کاربر برای ورود یا خروج از حالت pan با متد setPanModeListener در NavigationTemplate.Builder پاسخ دهید. میزبان میتواند سایر اجزای رابط کاربری را در قالب در حالی که کاربر در حالت pan است، پنهان کند.