באמצעות SDK של מפות ל-Android, אתם יכולים לקבוע אילו רכיבים מובנים של ממשק המשתמש יופיעו במפה ואילו תנועות מותרות, וכך להתאים אישית את האופן שבו המשתמשים יכולים ליצור אינטראקציה עם המפה.
דוגמאות קוד
במאגר ApiDemos ב-GitHub יש דוגמה שממחישה את השימוש באפשרויות של אמצעי בקרה ומחוות:
- UiSettingsDemoActivity: דוגמה ל-Kotlin
- UiSettingsDemoActivity: דוגמה ל-Java
מצב Lite לאינטראקציה מינימלית עם המשתמש
אם אתם רוצים להשתמש במפה קלה עם מינימום אינטראקציה מצד המשתמשים, כדאי לכם להשתמש במפה במצב Lite. במצב Lite מוצגת תמונת מפת סיביות של מפה במיקום מסוים וברמת זום מסוימת. במצב בסיסי, המשתמשים לא יכולים להזיז את המפה או לשנות את רמת הזום שלה, והמחוות לא פועלות. פרטים נוספים זמינים במדריך בנושא מצב Lite.
אמצעי בקרה בממשק המשתמש
Maps API מציע אמצעי בקרה מובנים בממשק המשתמש, שדומים לאלה שקיימים באפליקציית מפות Google בטלפון Android. אפשר להחליף את מצב החשיפה של אמצעי הבקרה האלה באמצעות המחלקה UiSettings, שאפשר לקבל מ-GoogleMap באמצעות ה-method 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).