באמצעות Maps SDK for Android, אתם יכולים לקבוע אילו רכיבים מובנים של ממשק המשתמש יופיעו במפה ואילו תנועות מותרות, וכך להתאים אישית את האופן שבו המשתמשים יכולים ליצור אינטראקציה עם המפה.
דוגמאות קוד
מאגר ApiDemos ב-GitHub כולל דוגמה שממחישה את השימוש באפשרויות של אמצעי בקרה ומחוות:
- UiSettingsDemoActivity: דוגמה ל-Kotlin
- UiSettingsDemoActivity: דוגמה ל-Java
מצב Lite לאינטראקציה מינימלית עם המשתמש
אם אתם רוצים מפה קלה עם אינטראקציה מינימלית של משתמשים, כדאי להשתמש במפה במצב Lite. במצב Lite מוצגת תמונת מפת סיביות של מיקום מסוים ורמת זום מסוימת. במצב בסיסי, המשתמשים לא יכולים להזיז את המפה או לשנות את מרחק התצוגה שלה, והמחוות לא פועלות. פרטים נוספים זמינים במדריך בנושא מצב Lite.
רכיבי ממשק משתמש
ממשק Maps API מציע אמצעי בקרה מובנים בממשק המשתמש, שדומים לאלה שקיימים באפליקציית מפות Google בטלפון Android. אפשר להחליף את מצב החשיפה של אמצעי הבקרה האלה באמצעות המחלקה UiSettings שאפשר לקבל מ-GoogleMap באמצעות השיטה GoogleMap.getUiSettings. השינויים שבוצעו בכיתה הזו משתקפים במפה באופן מיידי. כדי לראות דוגמה לתכונות האלה, אפשר לעיין בפעילות ההדגמה של הגדרות ממשק המשתמש באפליקציית הדוגמה.
אפשר גם להגדיר את רוב האפשרויות האלה כשיוצרים את המפה באמצעות מאפייני XML או באמצעות המחלקה GoogleMapOptions. פרטים נוספים מופיעים במאמר בנושא הגדרת מצב התחלתי.
לכל רכיב בקרה בממשק המשתמש יש מיקום מוגדר מראש ביחס לקצה המפה.
כדי להרחיק את אמצעי הבקרה מהקצה העליון, התחתון, הימני או השמאלי, מוסיפים padding לאובייקט GoogleMap.
כפתורי הגדלה והקטנה
Maps API מספק פקדי זום מובנים שמופיעים בפינה השמאלית התחתונה של המפה. ההגדרות האלה מושבתות כברירת מחדל, אבל אפשר להפעיל אותן באמצעות קריאה ל-UiSettings.setZoomControlsEnabled(true).
מצפן
Maps API מספק גרפיקה של מצפן שמופיעה בפינה הימנית העליונה של המפה בנסיבות מסוימות. המצפן יופיע רק כשהמצלמה מכוונת כך שהיא נמצאת בזווית שאינה אפס או בהטיה שאינה אפס. כשמשתמש לוחץ על המצפן, המצלמה חוזרת בהנפשה למצב עם כיוון והטיה של אפס (הכיוון שמוגדר כברירת מחדל), והמצפן נעלם בהדרגה זמן קצר לאחר מכן. אפשר להשבית את הצגת המצפן לגמרי על ידי פנייה אל UiSettings.setCompassEnabled(boolean).
עם זאת, אי אפשר להגדיר שהמצפן יוצג תמיד.
כפתור 'המיקום שלי'
לחצן 'המיקום שלי' מופיע בפינה השמאלית העליונה של המסך רק כששכבת 'המיקום שלי' מופעלת. פרטים נוספים זמינים במדריך בנושא נתוני מיקום.
תפריט בחירת רמה
כברירת מחדל, כשמשתמש צופה במפה של מקום סגור, מופיע בפינה הימנית התחתונה של המסך בורר קומות. כששתי מפות פנים או יותר מוצגות, הכלי לבחירת קומה יחול על הבניין שמוצג כרגע במרכז המסך. לכל בניין יש רמה שמוגדרת כברירת מחדל, והיא תיבחר כשהכלי לבחירת רמה יוצג בפעם הראשונה. המשתמשים יכולים לבחור רמה אחרת באמצעות הכלי לבחירת רמה.
כדי להשבית או להפעיל את אמצעי הבקרה לבחירת הרמה, צריך להתקשר אל
GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).
האפשרות הזו שימושית אם רוצים להחליף את הכלי לבחירת רמה שמוגדר כברירת מחדל בכלי משלכם.
סרגל הכלים של המפה
כברירת מחדל, כשמשתמש מקיש על סמן, סרגל כלים מופיע בפינה השמאלית התחתונה של המפה. סרגל הכלים מאפשר למשתמש גישה מהירה לאפליקציית מפות Google לנייד.
אפשר להפעיל ולהשבית את סרגל הכלים באמצעות הקריאה ל-UiSettings.setMapToolbarEnabled(boolean).
במפה במצב לייט, סרגל הכלים נשאר קבוע בלי קשר לפעולות של המשתמש. במפה אינטראקטיבית מלאה, סרגל הכלים נכנס כשהמשתמש מקיש על סמן ויוצא שוב כשהסמן כבר לא במרכז.
בסרגל הכלים מוצגים סמלים שמאפשרים גישה לתצוגת מפה או לבקשת הוראות נסיעה באפליקציית מפות Google לנייד. כשמשתמש מקיש על סמל בסרגל הכלים, ה-API יוצר intent להפעלת הפעילות המתאימה באפליקציית מפות Google לנייד.
סרגל הכלים מוצג בפינה השמאלית התחתונה של המפה בצילום המסך שלמעלה. אחד מסמלי הכוונה או שניהם יופיעו במפה, בהתאם לתוכן המפה ובתנאי שאפליקציית מפות Google לנייד תומכת בכוונה שנוצרה.
תנועות במפה
מפה שנוצרה באמצעות SDK של מפות ל-Android תומכת באותן תנועות כמו באפליקציית מפות Google. עם זאת, יכול להיות שיהיו מצבים שבהם תרצו להשבית תנועות מסוימות כדי לשמור על מצב המפה. אפשר גם להגדיר באופן פרוגרמטי את שינוי מרחק התצוגה, ההזזה, ההטיה והכיוון – פרטים נוספים זמינים במאמר מצלמה ותצוגה. הערה: השבתת המחוות לא משפיעה על האפשרות לשנות את מיקום המצלמה באופן פרוגרמטי.
בדומה לאמצעי הבקרה בממשק המשתמש, אפשר להפעיל או להשבית את המחוות באמצעות המחלקה UiSettings, שאפשר לקבל מ-GoogleMap על ידי קריאה ל-GoogleMap.getUiSettings. השינויים שבוצעו בכיתה הזו יבואו לידי ביטוי במפה באופן מיידי. כדי לראות דוגמה לתכונות האלה, אפשר לעיין בפעילות ההדגמה של הגדרות ממשק המשתמש באפליקציית הדוגמה (כאן מוסבר איך להתקין אותה).
אפשר גם להגדיר את האפשרויות האלה כשיוצרים את המפה באמצעות מאפייני XML או באמצעות המחלקה GoogleMapOptions.
פרטים נוספים זמינים במאמר בנושא הגדרת המפה.
תנועות לשינוי מרחק התצוגה
המפה מגיבה למגוון תנועות שיכולות לשנות את רמת הזום של המצלמה:
- לחיצה כפולה כדי להגדיל את רמת הזום ב-1 (התקרבות).
- לחיצה בשתי אצבעות כדי להקטין את מרחק התצוגה ב-1 (התרחקות).
- צביטה או פתיחה של האצבעות
- שינוי מרחק התצוגה באצבע אחת על ידי הקשה כפולה בלי להרים את האצבע בהקשה השנייה, ואז החלקת האצבע למעלה כדי להקטין את התצוגה או למטה כדי להגדיל אותה.
אפשר להשבית את תנועות הזום על ידי התקשרות למספר UiSettings.setZoomGesturesEnabled(boolean). ההגדרה הזו לא משפיעה על האפשרות של המשתמשים להשתמש באמצעי הבקרה של הזום כדי להגדיל ולהקטין את התצוגה.
תנועות גלילה (הזזה)
משתמש יכול לגלול (להזיז) את המפה על ידי גרירת המפה באצבע.
אפשר להשבית את הגלילה באמצעות הקריאה ל-UiSettings.setScrollGesturesEnabled(boolean).
תנועות הטיה
משתמש יכול להטות את המפה על ידי הנחת שתי אצבעות על המפה והזזתן יחד למטה או למעלה כדי להגדיל או להקטין את זווית ההטיה בהתאמה. כדי להשבית את תנועות ההטיה, אפשר לבצע את הקריאה הבאה ל-UiSettings.setTiltGesturesEnabled(boolean).
תנועות סיבוב
משתמש יכול לסובב את המפה על ידי הנחת שתי אצבעות על המפה והזזתן בתנועת סיבוב. אפשר להשבית את הרוטציה על ידי התקשרות למספר UiSettings.setRotateGesturesEnabled(boolean).