بااستفاده از «کیت توسعه نرمافزار Google Maps برای Android»، میتوانید نحوه تعامل کاربران با نقشهتان را با تعیین اینکه کدامیک از مؤلفههای واسط کاربر داخلی در نقشه نشان داده شود و کدام اشارهها مجاز باشد سفارشیسازی کنید.
نمونههای کد
مخزن ApiDemos در GitHub شامل نمونهای است که استفاده از گزینههای کنترل و اشاره را نشان میدهد:
- UiSettingsDemoActivity: نمونه Kotlin
- UiSettingsDemoActivity: نمونه Java
حالت سادهشده برای حداقل تعامل کاربر
اگر نقشه سبکی با حداقل تعامل کاربر میخواهید، از نقشه حالت ساده استفاده کنید. حالت Lite تصویر بیتمپ نقشه را در مکان و سطح بزرگنمایی مشخصی ارائه میدهد. در حالت Lite، کاربران نمیتوانند نقشه را جابهجا یا بزرگنمایی کنند و اشارهها کار نمیکنند. برای جزئیات، راهنمای حالت ساده را ببینید.
کنترلهای میانای کاربر
Maps API کنترلهای میانای کاربر داخلی ارائه میدهد که مشابه کنترلهای موجود در برنامه Google Maps در تلفن Android شما است. میتوانید
رؤیتپذیری این کنترلها را بااستفاده از کلاس UiSettings
که میتوان آن را از GoogleMap با روش GoogleMap.getUiSettings
بهدست آورد، تغییر دهید. تغییرات اعمالشده در این کلاس بلافاصله در نقشه منعکس میشود. برای دیدن نمونهای از این ویژگیها، به فعالیت نمایشی «تنظیمات واسط کاربر» در نمونه برنامه نگاه کنید.
همچنین میتوانید اکثر این گزینهها را هنگام ایجاد نقشه، ازطریق مشخصههای XML یا بااستفاده از کلاس GoogleMapOptions پیکربندی کنید. برای جزئیات بیشتر، پیکربندی وضعیت اولیه را ببینید.
هر کنترل میانای کاربر موقعیت ازپیش تعیینشدهای نسبت به لبه نقشه دارد.
میتوانید با افزودن فاصله به شیء GoogleMap، کنترلها را از لبه بالا، پایین، چپ، یا راست دور کنید.
کنترلهای بزرگنمایی
Maps API کنترلهای بزرگنمایی داخلی ارائه میدهد که در گوشه پایین سمت راست نقشه نشان داده میشود. اینها بهطور پیشفرض غیرفعال هستند، اما با فراخوانی UiSettings.setZoomControlsEnabled(true) میتوان آنها را فعال کرد.
قطبنما
Maps API گرافیک قطبنمایی ارائه میدهد که در شرایط خاصی در گوشه بالا سمت راست نقشه ظاهر میشود. قطبنما فقط زمانی نشان داده میشود که دوربین بهگونهای جهتگیری شده باشد که زاویه سمتی غیرصفر یا شیب غیرصفر داشته باشد. وقتی کاربر روی قطبنما کلیک میکند، دوربین به موقعیتی با زاویه و شیب صفر (جهت پیشفرض) برمیگردد و قطبنما کمی بعد محو میشود. با فراخوانی UiSettings.setCompassEnabled(boolean) میتوانید نمایش قطبنما را بهطور کامل غیرفعال کنید.
بااینحال، نمیتوانید قطبنما را مجبور کنید که همیشه نشان داده شود.
دکمه «مکان من»
دکمه «مکان من» در گوشه بالا سمت راست صفحه فقط وقتی لایه «مکان من» فعال باشد ظاهر میشود. برای جزئیات، راهنمای دادههای مکان را ببینید.
انتخابگر سطح
بهطور پیشفرض، وقتی کاربر درحال مشاهده نقشه فضای داخلی است، انتخابگر سطح (انتخابگر طبقه) نزدیک لبه راست مرکز صفحهنمایش ظاهر میشود. وقتی دو یا چند نقشه داخلی قابلمشاهده باشد، انتخابگر سطح برای ساختمانی اعمال میشود که درحالحاضر در کانون توجه است، که معمولاً نزدیکترین ساختمان به مرکز صفحه است. هر ساختمان یک سطح پیشفرض دارد که وقتی انتخابگر برای اولینبار نمایش داده میشود، انتخاب خواهد شد. کاربران میتوانند با انتخاب سطح دیگری از انتخابگر، آن را انتخاب کنند.
میتوانید با فراخوانی
GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)، کنترل انتخابگر سطح را غیرفعال یا فعال کنید.
این ویژگی زمانی مفید است که بخواهید انتخابگر سطح پیشفرض را با انتخابگر خودتان جایگزین کنید.
نوارابزار نقشه
بهطور پیشفرض، وقتی کاربر روی نشانگر تکضرب میزند، نوار ابزاری در پایین سمت چپ نقشه ظاهر میشود. نوارابزار به کاربر امکان میدهد سریعاً به برنامه تلفن همراه Google Maps دسترسی پیدا کند.
با فراخوانی
UiSettings.setMapToolbarEnabled(boolean) میتوانید نوارابزار را فعال و غیرفعال کنید.
در نقشه حالت ساده، نوارابزار مستقل از کنشهای کاربر باقی میماند. در نقشه کاملاً تعاملی، وقتی کاربر روی نشانگری تکضرب میزند، نوارابزار بهداخل میلغزد و وقتی نشانگر دیگر در کانون توجه نیست، دوباره بهبیرون میلغزد.
نوارابزار نمادهایی را نمایش میدهد که دسترسی به نمای نقشه یا درخواست مسیر را در برنامه تلفن همراه Google Maps فراهم میکنند. وقتی کاربر روی نمادی در نوارابزار تکضرب میزند، میانای برنامهسازی کاربردی قصدی را برای راهاندازی فعالیت مربوطه در برنامه تلفن همراه Google Maps ایجاد میکند.
نوارابزار در پایین سمت راست نقشه در نماگرفت بالا قابلمشاهده است. بسته به محتوای نقشه و بهشرطی که برنامه تلفن همراه Google Maps از هدف حاصل پشتیبانی کند، هیچکدام، یکی، یا هر دو نماد هدف در نقشه نشان داده خواهد شد.
اشارههای نقشه
نقشهای که با «کیت توسعه نرمافزار Google Maps برای Android» ایجاد شده است از همان اشارههایی پشتیبانی میکند که برنامه Google Maps پشتیبانی میکند. بااینحال، ممکن است شرایطی وجود داشته باشد که بخواهید برخی اشارهها را غیرفعال کنید تا وضعیت نقشه حفظ شود. بزرگنمایی، حرکت، کج کردن، و جهت را نیز میتوان بهصورت برنامهنویسی تنظیم کرد - برای جزئیات بیشتر، دوربین و نما را ببینید. توجه داشته باشید که غیرفعال کردن اشارهها بر اینکه بتوانید موقعیت دوربین را بهصورت برنامهنویسی تغییر دهید یا نه تأثیری ندارد.
مانند کنترلهای میانای کاربر، میتوانید اشارهها را با کلاس
UiSettings که میتوان آن را از GoogleMap
با فراخوانی GoogleMap.getUiSettings دریافت کرد، فعال/غیرفعال کنید. تغییرات اعمالشده در این کلاس
بلافاصله در نقشه منعکس میشود. برای دیدن نمونهای از این ویژگیها،
به فعالیت نمایشی «تنظیمات واسط کاربر» در برنامه نمونه نگاه کنید (برای نحوه نصب آن،
اینجا را ببینید).
همچنین میتوانید این گزینهها را هنگام ایجاد نقشه ازطریق XML Attributes یا بااستفاده از کلاس GoogleMapOptions پیکربندی کنید.
برای جزئیات بیشتر، پیکربندی نقشه را ببینید.
اشارههای بزرگنمایی
نقشه به انواع اشارههایی که میتوانند سطح بزرگنمایی دوربین را تغییر دهند پاسخ میدهد:
- برای افزایش سطح بزرگنمایی به ۱ (زومپیش)، دو تکضرب بزنید.
- برای کاهش سطح بزرگنمایی به ۱ (کوچکنمایی)، با دو انگشت تکضرب بزنید.
- نیشگون گرفتن/کشیدن با دو انگشت
- بزرگنمایی با یک انگشت با دو بار ضربه زدن اما رها نکردن در ضربه دوم، و سپس لغزاندن انگشت به بالا برای کوچکنمایی، یا به پایین برای بزرگنمایی.
با فراخوانی
UiSettings.setZoomGesturesEnabled(boolean) میتوانید اشارههای بزرگنمایی را غیرفعال کنید. این کار بر اینکه کاربر بتواند از کنترلهای بزرگنمایی برای بزرگنمایی و کوچکنمایی استفاده کند یا نه تأثیری ندارد.
اشارههای پیمایش (حرکت عرضی)
کاربر میتواند با کشیدن نقشه با انگشت خود، در نقشه پیمایش (حرکت) کند.
میتوانید پیمایش را با فراخوانی
UiSettings.setScrollGesturesEnabled(boolean) غیرفعال کنید.
اشارههای کج کردن
کاربر میتواند با قرار دادن دو انگشت روی نقشه و حرکت دادن آنها به پایین یا بالا، نقشه را کج کند تا زاویه کج شدن را بهترتیب افزایش یا کاهش دهد. میتوانید
اشارههای کج کردن را با فراخوانی UiSettings.setTiltGesturesEnabled(boolean) غیرفعال کنید.
اشارههای چرخاندن
کاربر میتواند با قرار دادن دو انگشت روی نقشه و اعمال حرکت چرخشی، نقشه را بچرخاند. میتوانید چرخش را با فراخوانی
UiSettings.setRotateGesturesEnabled(boolean) غیرفعال کنید.