באמצעות 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 לנייד תומכת בכוונת החיפוש שמתקבלת.
תנועות במפה
מפה שנוצרה באמצעות Maps SDK ל-Android תומכת באותן תנועות כמו באפליקציית מפות Google. עם זאת, יכול להיות שיהיו מצבים שבהם תרצו להשבית תנועות מסוימות כדי לשמור על מצב המפה. אפשר גם להגדיר באופן פרוגרמטי את הזום, ההזזה, ההטיה והכיוון – פרטים נוספים זמינים במאמר מצלמה ותצוגה. שימו לב: השבתת המחוות לא משפיעה על האפשרות לשנות את מיקום המצלמה באופן פרוגרמטי.
בדומה לאמצעי הבקרה בממשק המשתמש, אפשר להפעיל או להשבית את המחוות באמצעות המחלקה UiSettings
, שאפשר לקבל מ-GoogleMap
על ידי קריאה ל-GoogleMap.getUiSettings
. השינויים שבוצעו בכיתה הזו יבואו לידי ביטוי במפה באופן מיידי. כדי לראות דוגמה לתכונות האלה, אפשר לעיין בפעילות ההדגמה של הגדרות ממשק המשתמש באפליקציה לדוגמה (כאן מוסבר איך להתקין אותה).
אפשר גם להגדיר את האפשרויות האלה כשיוצרים את המפה באמצעות מאפייני XML או באמצעות המחלקה GoogleMapOptions
.
פרטים נוספים זמינים במאמר בנושא הגדרת המפה.
תנועות לשינוי הזום
המפה מגיבה למגוון תנועות שיכולות לשנות את רמת הזום של המצלמה:
- מקישים הקשה כפולה כדי להגדיל את רמת הזום ב-1 (התקרבות).
- מקישים הקשה כפולה בשתי אצבעות כדי להקטין את רמת הזום ב-1 (התרחקות).
- צביטה או פתיחה של האצבעות
- שינוי מרחק התצוגה באצבע אחת על ידי הקשה כפולה בלי להרפות מההקשה השנייה, ואז החלקת האצבע למעלה כדי להקטין את התצוגה או למטה כדי להגדיל אותה.
אפשר להשבית את תנועות הזום על ידי התקשרות אל UiSettings.setZoomGesturesEnabled(boolean)
. ההגדרה הזו לא משפיעה על האפשרות של המשתמשים להשתמש באמצעי הבקרה של הזום כדי להגדיל ולהקטין את התצוגה.
תנועות גלילה (הזזה)
משתמש יכול לגלול (להזיז) את המפה על ידי גרירת המפה באצבע.
אפשר להשבית את הגלילה על ידי קריאה ל-UiSettings.setScrollGesturesEnabled(boolean)
.
תנועות הטיה
משתמש יכול להטות את המפה על ידי הנחת שתי אצבעות על המפה והזזתן יחד למטה או למעלה כדי להגדיל או להקטין את זווית ההטיה בהתאמה. כדי להשבית את תנועות ההטיה, אפשר לבצע את הקריאה הבאה ל-UiSettings.setTiltGesturesEnabled(boolean)
:
תנועות סיבוב
משתמש יכול לסובב את המפה על ידי הנחת שתי אצבעות על המפה והזזתן בתנועת סיבוב. אפשר להשבית את הסיבוב על ידי התקשרות למספר UiSettings.setRotateGesturesEnabled(boolean)
.