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